{
 "cells": [
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "Obs: Converter em um arquivo .py para rodar.",
   "id": "6074df08f3e7986e"
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "# Importações",
   "id": "b8211b6fd209c236"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-29T11:45:44.502050Z",
     "start_time": "2025-07-29T11:45:41.177275Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import abc\n",
    "\n",
    "import argparse\n",
    "import os\n",
    "import sys\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import random\n",
    "import warnings\n",
    "\n",
    "from keras.src.layers import LSTM, Dense\n",
    "from matplotlib.ticker import FuncFormatter\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "from sklearn.metrics import root_mean_squared_error\n",
    "from sklearn.neural_network import MLPRegressor\n",
    "from xgboost import XGBRegressor\n",
    "\n",
    "from pyESN import ESN\n",
    "\n",
    "import tensorflow as tf\n",
    "\n",
    "from keras import Sequential, Input\n",
    "from pyswarms.single import GlobalBestPSO\n",
    "from sklearn.model_selection import TimeSeriesSplit\n",
    "\n",
    "from anneal import Annealer\n",
    "\n",
    "MODELOS = [\"ESN\", \"LSTM\", \"MLP\", \"RF\", \"XGBoost\"]\n",
    "OTIMIZADORES = [\"PSO\", \"SA\"]\n",
    "N_ITER = 15\n",
    "N_SOLUCOES = 15\n",
    "SEED = 100\n",
    "SEEDS = [1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000]\n",
    "CAMPUS_TREINO = \"PARANAGUÁ\"\n",
    "K_FOLDS = 5\n",
    "\n",
    "warnings.filterwarnings('ignore')\n",
    "\n",
    "\n",
    "def reset_seed(rnd_seed=SEED):\n",
    "    os.environ['PYTHONHASHSEED'] = '0'\n",
    "    random.seed(rnd_seed)\n",
    "    np.random.seed(rnd_seed)\n",
    "    tf.random.set_seed(rnd_seed)\n",
    "\n",
    "\n",
    "def calcular_rrmse(y_true, y_pred):\n",
    "    y_true = np.array(y_true)\n",
    "    y_pred = np.array(y_pred)\n",
    "\n",
    "    rmse = root_mean_squared_error(y_true, y_pred)\n",
    "\n",
    "    mean_y_true = np.mean(y_true)\n",
    "\n",
    "    rrmse = rmse / mean_y_true\n",
    "    return rrmse\n",
    "\n",
    "\n",
    "reset_seed()\n"
   ],
   "id": "bf4bde7a4e807b6b",
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2025-07-29 08:45:42.207169: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:485] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered\n",
      "2025-07-29 08:45:42.225177: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:8454] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered\n",
      "2025-07-29 08:45:42.230279: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1452] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n",
      "2025-07-29 08:45:42.243302: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n",
      "To enable the following instructions: SSE4.1 SSE4.2 AVX AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n"
     ]
    }
   ],
   "execution_count": 1
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "# Configuração dos Otimizadores\n",
    "## Otimizador Base"
   ],
   "id": "93062c1ee2643ff0"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:25.750625Z",
     "start_time": "2025-07-28T23:45:25.741829Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class Otimizador:\n",
    "\n",
    "    @abc.abstractmethod\n",
    "    def __init__(self, dataset, features, n_solucoes, n_iteracoes, seed=SEED):\n",
    "        reset_seed(seed)\n",
    "        self.nome_modelo = None\n",
    "        self.dataset = dataset\n",
    "        self.features = features\n",
    "        self.seed = seed\n",
    "        self.n_solucoes = n_solucoes\n",
    "        self.n_iteracoes = n_iteracoes\n",
    "        self.solucoes = []\n",
    "        self.iteracoes = []\n",
    "\n",
    "    @abc.abstractmethod\n",
    "    def run(self):\n",
    "        pass\n",
    "\n",
    "    @abc.abstractmethod\n",
    "    def run_objective_function(self, parametros):\n",
    "        pass\n",
    "\n",
    "    def objective_function(self, modelo, parametros):\n",
    "        try:\n",
    "            dataset_treino = self.dataset[self.dataset[\"CAMPUS\"] == CAMPUS_TREINO]\n",
    "            cvs = []\n",
    "            for i_treino, i_teste in TimeSeriesSplit(n_splits=K_FOLDS, test_size=1).split(dataset_treino):\n",
    "                # Treinamento com apenas o campus com a maior quantidade de dados\n",
    "                x_treino = dataset_treino[self.features].iloc[i_treino].astype(np.float32).to_numpy()\n",
    "                y_treino = dataset_treino[\"CONSUMO\"].iloc[i_treino].to_numpy()\n",
    "\n",
    "                # Teste com os dados de todos os campus\n",
    "                data_teste = dataset_treino.iloc[i_teste][\"DATA\"].values[0]\n",
    "                df_teste = self.dataset.loc[self.dataset[\"DATA\"] == data_teste]\n",
    "                x_teste = df_teste[self.features].astype(np.float32).to_numpy()\n",
    "                y_teste = df_teste[\"CONSUMO\"].astype(np.float32).to_numpy()\n",
    "\n",
    "                if (isinstance(modelo, RandomForestRegressor)\n",
    "                        or isinstance(modelo, XGBRegressor)\n",
    "                        or isinstance(modelo, MLPRegressor)\n",
    "                        or isinstance(modelo, ESN)):\n",
    "                    modelo.fit(x_treino, y_treino)\n",
    "                    y_previsto = modelo.predict(x_teste)\n",
    "                else:\n",
    "                    modelo.fit(x_treino, y_treino, shuffle=False, verbose=0, epochs=parametros.epochs,\n",
    "                               batch_size=parametros.batch_size)\n",
    "                    y_previsto = modelo.predict(x_teste, verbose=0)\n",
    "\n",
    "                cvs.append(calcular_rrmse(y_teste, y_previsto).mean())\n",
    "\n",
    "            return np.array(cvs).mean()\n",
    "\n",
    "        except Exception as e:\n",
    "            print(e)\n",
    "            print(parametros.to_dict())\n",
    "            return self.objective_function(modelo, parametros)\n",
    "\n",
    "    def iteracoes_dataframe(self):\n",
    "        df = pd.DataFrame()\n",
    "        for i in range(len(self.iteracoes)):\n",
    "            part = self.iteracoes[i]\n",
    "            df = pd.concat([df, pd.DataFrame.from_dict(part.to_dict(), orient='index').T], ignore_index=True)\n",
    "        return df\n",
    "\n",
    "    def salvar_csv(self):\n",
    "        pd_df = self.iteracoes_dataframe()\n",
    "        pd_df.to_csv(f\"resultados/otimização - regressão/{self.nome_modelo} SEED {self.seed}.csv\", sep=\";\", decimal=\".\",\n",
    "                     index=True)\n"
   ],
   "id": "4b250006f07db26d",
   "outputs": [],
   "execution_count": 2
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### ESN",
   "id": "200ce2d21089e5bb"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:26.834767Z",
     "start_time": "2025-07-28T23:45:25.886728Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class SolucaoESN:\n",
    "    def __init__(self):\n",
    "        self.fitness = None\n",
    "        self.n_reservoirs = 0\n",
    "        self.sparsity = 0\n",
    "        self.spectral_radius = 0\n",
    "\n",
    "    def to_dict(self):\n",
    "        return {\n",
    "            \"Reservoirs\": self.n_reservoirs,\n",
    "            \"Sparsity\": self.sparsity,\n",
    "            \"Spectral Radius\": self.spectral_radius,\n",
    "            \"Fitness\": self.fitness,\n",
    "        }"
   ],
   "id": "6901a15ce2ff59dd",
   "outputs": [],
   "execution_count": 3
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### LSTM",
   "id": "be2022de9d800667"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:27.460640Z",
     "start_time": "2025-07-28T23:45:26.843635Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class SolucaoLSTM:\n",
    "    def __init_(self):\n",
    "        self.fitness = None\n",
    "        self.lstm_units = 0\n",
    "        self.epochs = 0\n",
    "        self.batch_size = 0\n",
    "        self.lstm_activation = None\n",
    "\n",
    "    def to_dict(self):\n",
    "        return {\n",
    "            \"Units\": self.lstm_units,\n",
    "            \"Epochs\": self.epochs,\n",
    "            \"Batch Size\": self.batch_size,\n",
    "            \"Activation\": self.lstm_activation,\n",
    "            \"Fitness\": self.fitness,\n",
    "        }\n"
   ],
   "id": "fbb40426734e86bd",
   "outputs": [],
   "execution_count": 4
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### MLP",
   "id": "19205939e8896fe1"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:27.999700Z",
     "start_time": "2025-07-28T23:45:27.469528Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class SolucaoMLP:\n",
    "    def __init_(self):\n",
    "        self.fitness = None\n",
    "        self.hidden_layer_sizes = 0\n",
    "        self.alpha = 0\n",
    "        self.activation = None\n",
    "\n",
    "    def to_dict(self):\n",
    "        return {\n",
    "            \"Hidden Layers\": self.hidden_layer_sizes,\n",
    "            \"Alpha\": self.alpha,\n",
    "            \"Activation\": self.activation,\n",
    "            \"Fitness\": self.fitness,\n",
    "        }\n"
   ],
   "id": "b17b26036c9e16a7",
   "outputs": [],
   "execution_count": 5
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### Random Forest",
   "id": "5877f1f5c38e74f6"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:28.859418Z",
     "start_time": "2025-07-28T23:45:28.009742Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class SolucaoRF:\n",
    "    def __init_(self):\n",
    "        self.fitness = None\n",
    "        self.estimators = 0\n",
    "        self.max_depth = 0\n",
    "        self.min_samples_split = 0\n",
    "        self.min_samples_leaf = 0\n",
    "\n",
    "    def to_dict(self):\n",
    "        return {\n",
    "            \"N_estimators\": self.estimators,\n",
    "            \"Max_depth\": self.max_depth,\n",
    "            \"Min_samples_split\": self.min_samples_split,\n",
    "            \"Min_samples_leaf\": self.min_samples_leaf,\n",
    "            \"Fitness\": self.fitness,\n",
    "        }"
   ],
   "id": "d6eb2a4060a6bbcc",
   "outputs": [],
   "execution_count": 6
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### XGBoost",
   "id": "70c86d802a6db946"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:28.971906Z",
     "start_time": "2025-07-28T23:45:28.874167Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class SolucaoXGB:\n",
    "    def __init_(self):\n",
    "        self.fitness = None\n",
    "        self.estimators = 0\n",
    "        self.max_depth = 0\n",
    "        self.booster = None\n",
    "        self.reg_lambda = 0\n",
    "        self.reg_alpha = 0\n",
    "\n",
    "    def to_dict(self):\n",
    "        return {\n",
    "            \"N_estimators\": self.estimators,\n",
    "            \"Max_depth\": self.max_depth,\n",
    "            \"Booster\": self.booster,\n",
    "            \"Lambda\": self.reg_lambda,\n",
    "            \"Alpha\": self.reg_alpha,\n",
    "            \"Fitness\": self.fitness,\n",
    "        }\n"
   ],
   "id": "cbb3af390d0ff686",
   "outputs": [],
   "execution_count": 7
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "## Simulated Annealing (SA)",
   "id": "416a8594d3eb7720"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.032832Z",
     "start_time": "2025-07-28T23:45:28.976832Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class SimulatedAnneal(Annealer):\n",
    "    def __init__(self, params, objective_function, max_iter):\n",
    "        self.params = params\n",
    "        self.objective_function = objective_function\n",
    "        super().__init__(self.random_initial_state())\n",
    "        self.steps = max_iter\n",
    "        self.Tmin = 0.0001\n",
    "        self.Tmax = 1\n",
    "        self.updates = 0\n",
    "        self.anneal()\n",
    "\n",
    "    def random_initial_state(self):\n",
    "        initial_state = {}\n",
    "        for key in self.params.keys():\n",
    "            initial_state[key] = random.choice(self.params[key])\n",
    "        return initial_state\n",
    "\n",
    "    def move(self):\n",
    "        atual = self.state\n",
    "        for key in self.params.keys():\n",
    "            valor = atual[key]\n",
    "            opcoes = len(self.params[key])\n",
    "            if opcoes <= 2:\n",
    "                self.state[key] = random.choice(self.params[key])\n",
    "            else:\n",
    "                intervalo = int(np.round(self.T * opcoes))\n",
    "                diferencas = np.abs(np.array(self.params[key]) - valor)\n",
    "                index = np.argmin(diferencas)\n",
    "                inicio = max(0, index - intervalo)\n",
    "                fim = min(opcoes - 1, index + intervalo)\n",
    "                if inicio == fim:\n",
    "                    self.state[key] = self.params[key][inicio]\n",
    "                else:\n",
    "                    self.state[key] = self.params[key][random.choice(range(inicio, fim))]\n",
    "\n",
    "    def energy(self):\n",
    "        return self.objective_function(self.state)"
   ],
   "id": "2cdfa5f8471f390b",
   "outputs": [],
   "execution_count": 8
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### ESN",
   "id": "323847293a286d4d"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.081590Z",
     "start_time": "2025-07-28T23:45:29.042468Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class SAESN(Otimizador):\n",
    "\n",
    "    def __init__(self, dataset, features, n_solucoes, n_iteracoes, seed=SEED):\n",
    "        super().__init__(dataset, features, n_solucoes, n_iteracoes, seed)\n",
    "        self.nome_modelo = \"SA-ESN\"\n",
    "        self.run()\n",
    "\n",
    "    def run(self):\n",
    "        parametros = {\n",
    "            \"n_reservoirs\": range(10, 400),\n",
    "            \"sparsity\": np.arange(0.001, 0.8, 0.001),\n",
    "            \"spectral_radius\": np.arange(0.001, 0.8, 0.001),\n",
    "        }\n",
    "        SimulatedAnneal(parametros, self.run_objective_function, max_iter=self.n_iteracoes * self.n_solucoes)\n",
    "\n",
    "    def run_objective_function(self, parametros):\n",
    "        solucao = SolucaoESN()\n",
    "        solucao.n_reservoirs = int(parametros[\"n_reservoirs\"])\n",
    "        solucao.sparsity = np.round(parametros[\"sparsity\"], 4)\n",
    "        solucao.spectral_radius = np.round(parametros[\"spectral_radius\"], 4)\n",
    "\n",
    "        search = list(filter(lambda par:\n",
    "                             par.n_reservoirs == solucao.n_reservoirs and\n",
    "                             par.sparsity == solucao.sparsity and\n",
    "                             par.spectral_radius == solucao.spectral_radius, self.solucoes))\n",
    "\n",
    "        if search:\n",
    "            solucao = search[0]\n",
    "\n",
    "        else:\n",
    "            modelo = ESN(n_inputs=self.dataset[self.features].shape[1],\n",
    "                         n_outputs=1,\n",
    "                         n_reservoir=solucao.n_reservoirs,\n",
    "                         sparsity=solucao.sparsity,\n",
    "                         spectral_radius=solucao.spectral_radius,\n",
    "                         random_state=self.seed)\n",
    "\n",
    "            solucao.fitness = self.objective_function(modelo, solucao)\n",
    "\n",
    "        self.solucoes.append(solucao)\n",
    "\n",
    "        self.solucoes = sorted(self.solucoes, key=lambda a: a.fitness)\n",
    "        best = self.solucoes[0]\n",
    "        self.iteracoes.append(best)\n",
    "        self.salvar_csv()\n",
    "\n",
    "        return solucao.fitness"
   ],
   "id": "99ab52423b5f2e8b",
   "outputs": [],
   "execution_count": 9
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### LSTM",
   "id": "849a45d05bd77ec"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.137386Z",
     "start_time": "2025-07-28T23:45:29.102766Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class SALSTM(Otimizador):\n",
    "    def __init__(self, dataset, features, n_solucoes, n_iteracoes, seed=SEED):\n",
    "        super().__init__(dataset, features, n_solucoes, n_iteracoes, seed)\n",
    "        self.nome_modelo = \"SA-LSTM\"\n",
    "        self.ACTIVATIONS = [\"linear\", \"mish\", \"sigmoid\", \"softmax\", \"softplus\", \"softsign\", \"tanh\"]\n",
    "        self.run()\n",
    "\n",
    "    def run(self):\n",
    "        parametros = {\n",
    "            \"lstm_units\": range(10, 400),\n",
    "            \"epochs\": range(10, 400),\n",
    "            \"batch_size\": range(10, 400),\n",
    "            \"lstm_activation\": range(0, 7),\n",
    "        }\n",
    "        SimulatedAnneal(parametros, self.run_objective_function, max_iter=self.n_iteracoes * self.n_solucoes)\n",
    "\n",
    "    def run_objective_function(self, parametros):\n",
    "        solucao = SolucaoLSTM()\n",
    "        solucao.lstm_units = int(parametros[\"lstm_units\"])\n",
    "        solucao.epochs = int(parametros[\"epochs\"])\n",
    "        solucao.batch_size = int(parametros[\"batch_size\"])\n",
    "        solucao.lstm_activation = self.ACTIVATIONS[int(parametros[\"lstm_activation\"])]\n",
    "\n",
    "        search = list(filter(lambda par:\n",
    "                             par.lstm_units == solucao.lstm_units and\n",
    "                             par.epochs == solucao.epochs and\n",
    "                             par.batch_size == solucao.batch_size and\n",
    "                             par.lstm_activation == solucao.lstm_activation, self.solucoes))\n",
    "\n",
    "        if search:\n",
    "            solucao = search[0]\n",
    "\n",
    "        else:\n",
    "            tf.keras.backend.clear_session()\n",
    "            modelo = Sequential([\n",
    "                Input((self.dataset[self.features].shape[1], 1)),\n",
    "                LSTM(solucao.lstm_units,\n",
    "                     activation=solucao.lstm_activation,\n",
    "                     seed=self.seed),\n",
    "                Dense(1),\n",
    "            ])\n",
    "            modelo.compile(loss='mse')\n",
    "\n",
    "            solucao.fitness = self.objective_function(modelo, solucao)\n",
    "\n",
    "        self.solucoes.append(solucao)\n",
    "\n",
    "        self.solucoes = sorted(self.solucoes, key=lambda a: a.fitness)\n",
    "        best = self.solucoes[0]\n",
    "        self.iteracoes.append(best)\n",
    "        self.salvar_csv()\n",
    "\n",
    "        return solucao.fitness"
   ],
   "id": "a30d2a89c21d6991",
   "outputs": [],
   "execution_count": 10
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### MLP",
   "id": "d059fc93087ecbf5"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.184010Z",
     "start_time": "2025-07-28T23:45:29.152026Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class SAMLP(Otimizador):\n",
    "    def __init__(self, dataset, features, n_solucoes, n_iteracoes, seed=SEED):\n",
    "        super().__init__(dataset, features, n_solucoes, n_iteracoes, seed)\n",
    "        self.nome_modelo = \"SA-MLP\"\n",
    "        self.ACTIVATIONS = [\"identity\", \"logistic\", \"tanh\", \"relu\"]\n",
    "        self.run()\n",
    "\n",
    "    def run(self):\n",
    "        parametros = {\n",
    "            \"hidden_layer_sizes\": range(10, 400),\n",
    "            \"alpha\": np.arange(0, 1, 0.01),\n",
    "            \"activation\": range(0, 4),\n",
    "        }\n",
    "        SimulatedAnneal(parametros, self.run_objective_function, max_iter=self.n_iteracoes * self.n_solucoes)\n",
    "\n",
    "    def run_objective_function(self, parametros):\n",
    "        solucao = SolucaoMLP()\n",
    "        solucao.hidden_layer_sizes = int(parametros[\"hidden_layer_sizes\"])\n",
    "        solucao.alpha = round(parametros[\"alpha\"], 4)\n",
    "        solucao.activation = self.ACTIVATIONS[int(parametros[\"activation\"])]\n",
    "\n",
    "        search = list(filter(lambda par:\n",
    "                             par.hidden_layer_sizes == solucao.hidden_layer_sizes and\n",
    "                             par.alpha == solucao.alpha and\n",
    "                             par.activation == solucao.activation, self.solucoes))\n",
    "\n",
    "        if search:\n",
    "            solucao = search[0]\n",
    "\n",
    "        else:\n",
    "            modelo = MLPRegressor(hidden_layer_sizes=(solucao.hidden_layer_sizes,),\n",
    "                                  activation=solucao.activation,\n",
    "                                  alpha=solucao.alpha,\n",
    "                                  random_state=self.seed)\n",
    "\n",
    "            solucao.fitness = self.objective_function(modelo, solucao)\n",
    "\n",
    "        self.solucoes.append(solucao)\n",
    "\n",
    "        self.solucoes = sorted(self.solucoes, key=lambda a: a.fitness)\n",
    "        best = self.solucoes[0]\n",
    "        self.iteracoes.append(best)\n",
    "        self.salvar_csv()\n",
    "\n",
    "        return solucao.fitness"
   ],
   "id": "8b74920a54a69862",
   "outputs": [],
   "execution_count": 11
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### Random Forest\n",
   "id": "259dbd8726b34254"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.252013Z",
     "start_time": "2025-07-28T23:45:29.201899Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class SARF(Otimizador):\n",
    "    def __init__(self, dataset, features, n_solucoes, n_iteracoes, seed=SEED):\n",
    "        super().__init__(dataset, features, n_solucoes, n_iteracoes, seed)\n",
    "        self.nome_modelo = \"SA-RF\"\n",
    "        self.run()\n",
    "\n",
    "    def run(self):\n",
    "        parametros = {\n",
    "            \"estimators\": range(10, 400),\n",
    "            \"max_depth\": range(10, 400),\n",
    "            \"min_samples_split\": range(2, 50),\n",
    "            \"min_samples_leaf\": range(2, 50),\n",
    "        }\n",
    "        SimulatedAnneal(parametros, self.run_objective_function, max_iter=self.n_iteracoes * self.n_solucoes)\n",
    "\n",
    "    def run_objective_function(self, parametros):\n",
    "        solucao = SolucaoRF()\n",
    "        solucao.estimators = int(parametros[\"estimators\"])\n",
    "        solucao.max_depth = int(parametros[\"max_depth\"])\n",
    "        solucao.min_samples_split = int(parametros[\"min_samples_split\"])\n",
    "        solucao.min_samples_leaf = int(parametros[\"min_samples_leaf\"])\n",
    "\n",
    "        search = list(filter(lambda par:\n",
    "                             par.estimators == solucao.estimators and\n",
    "                             par.max_depth == solucao.max_depth and\n",
    "                             par.min_samples_split == solucao.min_samples_split and\n",
    "                             par.min_samples_leaf == solucao.min_samples_leaf, self.solucoes))\n",
    "\n",
    "        if search:\n",
    "            solucao = search[0]\n",
    "\n",
    "        else:\n",
    "            modelo = RandomForestRegressor(random_state=self.seed,\n",
    "                                           n_estimators=solucao.estimators,\n",
    "                                           max_depth=solucao.max_depth,\n",
    "                                           min_samples_split=solucao.min_samples_split,\n",
    "                                           min_samples_leaf=solucao.min_samples_leaf)\n",
    "\n",
    "            solucao.fitness = self.objective_function(modelo, solucao)\n",
    "\n",
    "        self.solucoes.append(solucao)\n",
    "\n",
    "        self.solucoes = sorted(self.solucoes, key=lambda a: a.fitness)\n",
    "        best = self.solucoes[0]\n",
    "        self.iteracoes.append(best)\n",
    "        self.salvar_csv()\n",
    "\n",
    "        return solucao.fitness\n"
   ],
   "id": "bbf67ddb94e4152",
   "outputs": [],
   "execution_count": 12
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### XGBoost",
   "id": "a607b504601612c1"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.301750Z",
     "start_time": "2025-07-28T23:45:29.261178Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class SAXGB(Otimizador):\n",
    "    def __init__(self, dataset, features, n_solucoes, n_iteracoes, seed=SEED):\n",
    "        super().__init__(dataset, features, n_solucoes, n_iteracoes, seed)\n",
    "        self.nome_modelo = \"SA-XGBoost\"\n",
    "        self.BOOSTERS = [\"gbtree\", \"gblinear\", \"dart\"]\n",
    "        self.run()\n",
    "\n",
    "    def run(self):\n",
    "        parametros = {\n",
    "            \"estimators\": range(10, 400),\n",
    "            \"max_depth\": range(10, 400),\n",
    "            \"booster\": range(0, 2),\n",
    "            \"reg_lambda\": np.arange(0, 1, 0.005),\n",
    "            \"reg_alpha\": np.arange(0, 1, 0.005),\n",
    "        }\n",
    "        SimulatedAnneal(parametros, self.run_objective_function, max_iter=self.n_iteracoes * self.n_solucoes)\n",
    "\n",
    "    def run_objective_function(self, parametros):\n",
    "        solucao = SolucaoXGB()\n",
    "        solucao.estimators = int(parametros[\"estimators\"])\n",
    "        solucao.max_depth = int(parametros[\"max_depth\"])\n",
    "        solucao.booster = self.BOOSTERS[int(parametros[\"booster\"])]\n",
    "        solucao.reg_lambda = float(parametros[\"reg_lambda\"])\n",
    "        solucao.reg_alpha = float(parametros[\"reg_alpha\"])\n",
    "\n",
    "        search = list(filter(lambda par:\n",
    "                             par.estimators == solucao.estimators and\n",
    "                             par.max_depth == solucao.max_depth and\n",
    "                             par.booster == solucao.booster and\n",
    "                             par.reg_lambda == solucao.reg_lambda and\n",
    "                             par.reg_alpha == solucao.reg_alpha, self.solucoes))\n",
    "\n",
    "        if search:\n",
    "            solucao = search[0]\n",
    "\n",
    "        else:\n",
    "            updater = \"coord_descent\" if solucao.booster == \"gblinear\" else None\n",
    "            modelo = XGBRegressor(random_state=self.seed,\n",
    "                                  n_estimators=solucao.estimators,\n",
    "                                  max_depth=solucao.max_depth,\n",
    "                                  booster=solucao.booster,\n",
    "                                  reg_lambda=solucao.reg_lambda,\n",
    "                                  reg_alpha=solucao.reg_alpha,\n",
    "                                  updater=updater)\n",
    "\n",
    "            solucao.fitness = self.objective_function(modelo, solucao)\n",
    "\n",
    "        self.solucoes.append(solucao)\n",
    "\n",
    "        self.solucoes = sorted(self.solucoes, key=lambda a: a.fitness)\n",
    "        best = self.solucoes[0]\n",
    "        self.iteracoes.append(best)\n",
    "        self.salvar_csv()\n",
    "\n",
    "        return solucao.fitness"
   ],
   "id": "23ce1460899b8e29",
   "outputs": [],
   "execution_count": 13
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "## Particle Swarm Optimization (PSO)",
   "id": "e3c1c719bcd9468a"
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### ESN",
   "id": "85a8feb053ec3ae0"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.350122Z",
     "start_time": "2025-07-28T23:45:29.312717Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class PSOESN(Otimizador):\n",
    "    def __init__(self, dataset, features, n_solucoes, n_iteracoes, seed=SEED):\n",
    "        super().__init__(dataset, features, n_solucoes, n_iteracoes, seed)\n",
    "        self.nome_modelo = \"PSO-ESN\"\n",
    "        self.run()\n",
    "\n",
    "    def run(self):\n",
    "        lower_bound = [10, 0.001, 0.001]\n",
    "        uppper_bound = [400, 0.8, 0.8]\n",
    "        bounds = (lower_bound, uppper_bound)\n",
    "\n",
    "        options = {'c1': 0.5, 'c2': 0.5, 'w': 0.5}\n",
    "        optimizer = GlobalBestPSO(n_particles=self.n_solucoes,\n",
    "                                  dimensions=3,\n",
    "                                  options=options,\n",
    "                                  bounds=bounds)\n",
    "\n",
    "        optimizer.optimize(self.get_fitness, iters=self.n_iteracoes)\n",
    "\n",
    "    def get_fitness(self, parts):\n",
    "        fit_lst = [self.run_objective_function(parts[j]) for j in range(self.n_solucoes)]\n",
    "\n",
    "        self.solucoes = sorted(self.solucoes, key=lambda a: a.fitness)\n",
    "        best = self.solucoes[0]\n",
    "        self.iteracoes.append(best)\n",
    "        self.salvar_csv()\n",
    "\n",
    "        return fit_lst\n",
    "\n",
    "    def run_objective_function(self, particle_arr):\n",
    "        solucao = SolucaoESN()\n",
    "        solucao.n_reservoirs = int(particle_arr[0])\n",
    "        solucao.sparsity = round(particle_arr[1], 4)\n",
    "        solucao.spectral_radius = round(particle_arr[2], 4)\n",
    "\n",
    "        search = list(filter(lambda par:\n",
    "                             par.n_reservoirs == solucao.n_reservoirs and\n",
    "                             par.sparsity == solucao.sparsity and\n",
    "                             par.spectral_radius == solucao.spectral_radius, self.solucoes))\n",
    "\n",
    "        if search:\n",
    "            self.solucoes.append(search[0])\n",
    "            return search[0].fitness\n",
    "\n",
    "        modelo = ESN(n_inputs=self.dataset[self.features].shape[1],\n",
    "                     n_outputs=1,\n",
    "                     n_reservoir=solucao.n_reservoirs,\n",
    "                     sparsity=solucao.sparsity,\n",
    "                     spectral_radius=solucao.spectral_radius,\n",
    "                     random_state=self.seed)\n",
    "\n",
    "        solucao.fitness = self.objective_function(modelo, solucao)\n",
    "\n",
    "        self.solucoes.append(solucao)\n",
    "\n",
    "        return solucao.fitness\n"
   ],
   "id": "3d2350c035b4522e",
   "outputs": [],
   "execution_count": 14
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### LSTM",
   "id": "353f805dc4693d14"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.399366Z",
     "start_time": "2025-07-28T23:45:29.362009Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class PSOLSTM(Otimizador):\n",
    "    def __init__(self, dataset, features, n_solucoes, n_iteracoes, seed=SEED):\n",
    "        super().__init__(dataset, features, n_solucoes, n_iteracoes, seed)\n",
    "        self.nome_modelo = \"PSO-LSTM\"\n",
    "        self.ACTIVATIONS = [\"linear\", \"mish\", \"sigmoid\", \"softmax\", \"softplus\", \"softsign\", \"tanh\"]\n",
    "        self.run()\n",
    "\n",
    "    def run(self):\n",
    "        lower_bound = [10, 10, 10, 0]\n",
    "        uppper_bound = [400, 400, 400, 7]\n",
    "        bounds = (lower_bound, uppper_bound)\n",
    "\n",
    "        options = {'c1': 0.5, 'c2': 0.5, 'w': 0.5}\n",
    "        optimizer = GlobalBestPSO(n_particles=self.n_solucoes,\n",
    "                                  dimensions=4,\n",
    "                                  options=options,\n",
    "                                  bounds=bounds)\n",
    "\n",
    "        optimizer.optimize(self.get_fitness, iters=self.n_iteracoes)\n",
    "\n",
    "    def get_fitness(self, parts):\n",
    "        fit_lst = [self.run_objective_function(parts[j]) for j in range(self.n_solucoes)]\n",
    "\n",
    "        self.solucoes = sorted(self.solucoes, key=lambda a: a.fitness)\n",
    "        best = self.solucoes[0]\n",
    "        self.iteracoes.append(best)\n",
    "        self.salvar_csv()\n",
    "\n",
    "        return fit_lst\n",
    "\n",
    "    def run_objective_function(self, particle_arr):\n",
    "        solucao = SolucaoLSTM()\n",
    "        solucao.lstm_units = int(particle_arr[0])\n",
    "        solucao.epochs = int(particle_arr[1])\n",
    "        solucao.batch_size = int(particle_arr[2])\n",
    "        solucao.lstm_activation = self.ACTIVATIONS[int(particle_arr[3])]\n",
    "\n",
    "        search = list(filter(lambda par:\n",
    "                             par.lstm_units == solucao.lstm_units and\n",
    "                             par.epochs == solucao.epochs and\n",
    "                             par.batch_size == solucao.batch_size and\n",
    "                             par.lstm_activation == solucao.lstm_activation, self.solucoes))\n",
    "\n",
    "        if search:\n",
    "            self.solucoes.append(search[0])\n",
    "            return search[0].fitness\n",
    "        tf.keras.backend.clear_session()\n",
    "        modelo = Sequential([\n",
    "            Input((self.dataset[self.features].shape[1], 1)),\n",
    "            LSTM(solucao.lstm_units,\n",
    "                 activation=solucao.lstm_activation,\n",
    "                 seed=self.seed),\n",
    "            Dense(1),\n",
    "        ])\n",
    "        modelo.compile(loss='mse')\n",
    "\n",
    "        solucao.fitness = self.objective_function(modelo, solucao)\n",
    "\n",
    "        self.solucoes.append(solucao)\n",
    "\n",
    "        return solucao.fitness"
   ],
   "id": "6b84cb47c77d6a6e",
   "outputs": [],
   "execution_count": 15
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### MLP",
   "id": "1e177db033d3078e"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.480170Z",
     "start_time": "2025-07-28T23:45:29.413039Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class PSOMLP(Otimizador):\n",
    "    def __init__(self, dataset, features, n_solucoes, n_iteracoes, seed=SEED):\n",
    "        super().__init__(dataset, features, n_solucoes, n_iteracoes, seed)\n",
    "        self.nome_modelo = \"PSO-MLP\"\n",
    "        self.ACTIVATIONS = [\"identity\", \"logistic\", \"tanh\", \"relu\"]\n",
    "        self.run()\n",
    "\n",
    "    def run(self):\n",
    "\n",
    "        lower_bound = [10, 0, 0]\n",
    "        uppper_bound = [400, 1.0, 4]\n",
    "        bounds = (lower_bound, uppper_bound)\n",
    "\n",
    "        options = {'c1': 0.5, 'c2': 0.5, 'w': 0.5}\n",
    "        optimizer = GlobalBestPSO(n_particles=self.n_solucoes,\n",
    "                                  dimensions=3,\n",
    "                                  options=options,\n",
    "                                  bounds=bounds)\n",
    "\n",
    "        optimizer.optimize(self.get_fitness, iters=self.n_iteracoes)\n",
    "\n",
    "    def get_fitness(self, parts):\n",
    "        fit_lst = [self.run_objective_function(parts[j]) for j in range(self.n_solucoes)]\n",
    "\n",
    "        self.solucoes = sorted(self.solucoes, key=lambda a: a.fitness)\n",
    "        best = self.solucoes[0]\n",
    "        self.iteracoes.append(best)\n",
    "        self.salvar_csv()\n",
    "\n",
    "        return fit_lst\n",
    "\n",
    "    def run_objective_function(self, particle_arr):\n",
    "        solucao = SolucaoMLP()\n",
    "        solucao.hidden_layer_sizes = int(particle_arr[0])\n",
    "        solucao.alpha = particle_arr[1]\n",
    "        solucao.activation = self.ACTIVATIONS[int(particle_arr[2])]\n",
    "\n",
    "        search = list(filter(lambda par:\n",
    "                             par.hidden_layer_sizes == solucao.hidden_layer_sizes and\n",
    "                             par.alpha == solucao.alpha and\n",
    "                             par.activation == solucao.activation, self.solucoes))\n",
    "\n",
    "        if search:\n",
    "            self.solucoes.append(search[0])\n",
    "            return search[0].fitness\n",
    "\n",
    "        modelo = MLPRegressor(hidden_layer_sizes=(solucao.hidden_layer_sizes,),\n",
    "                              activation=solucao.activation,\n",
    "                              alpha=solucao.alpha,\n",
    "                              random_state=self.seed)\n",
    "\n",
    "        solucao.fitness = self.objective_function(modelo, solucao)\n",
    "\n",
    "        self.solucoes.append(solucao)\n",
    "\n",
    "        return solucao.fitness"
   ],
   "id": "9a330518c6b2ac24",
   "outputs": [],
   "execution_count": 16
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### Random Forest\n",
   "id": "dbd6562e12586654"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.533547Z",
     "start_time": "2025-07-28T23:45:29.489146Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class PSORF(Otimizador):\n",
    "    def __init__(self, dataset, features, n_solucoes, n_iteracoes, seed=SEED):\n",
    "        super().__init__(dataset, features, n_solucoes, n_iteracoes, seed)\n",
    "        self.nome_modelo = \"PSO-RF\"\n",
    "        self.run()\n",
    "\n",
    "    def run(self):\n",
    "        lower_bound = [10, 10, 2, 2]\n",
    "        uppper_bound = [400, 400, 50, 50]\n",
    "        bounds = (lower_bound, uppper_bound)\n",
    "\n",
    "        options = {'c1': 0.5, 'c2': 0.5, 'w': 0.5}\n",
    "        optimizer = GlobalBestPSO(n_particles=self.n_solucoes,\n",
    "                                  dimensions=4,\n",
    "                                  options=options,\n",
    "                                  bounds=bounds)\n",
    "\n",
    "        optimizer.optimize(self.get_fitness, iters=self.n_iteracoes)\n",
    "\n",
    "    def get_fitness(self, parts):\n",
    "        fit_lst = [self.run_objective_function(parts[j]) for j in range(self.n_solucoes)]\n",
    "\n",
    "        self.solucoes = sorted(self.solucoes, key=lambda a: a.fitness)\n",
    "        best = self.solucoes[0]\n",
    "        self.iteracoes.append(best)\n",
    "        self.salvar_csv()\n",
    "\n",
    "        return fit_lst\n",
    "\n",
    "    def run_objective_function(self, particle_arr):\n",
    "        solucao = SolucaoRF()\n",
    "        solucao.estimators = int(particle_arr[0])\n",
    "        solucao.max_depth = int(particle_arr[1])\n",
    "        solucao.min_samples_split = int(particle_arr[2])\n",
    "        solucao.min_samples_leaf = int(particle_arr[3])\n",
    "\n",
    "        search = list(filter(lambda par:\n",
    "                             par.estimators == solucao.estimators and\n",
    "                             par.max_depth == solucao.max_depth and\n",
    "                             par.min_samples_split == solucao.min_samples_split and\n",
    "                             par.min_samples_leaf == solucao.min_samples_leaf, self.solucoes))\n",
    "\n",
    "        if search:\n",
    "            self.solucoes.append(search[0])\n",
    "            return search[0].fitness\n",
    "\n",
    "        modelo = RandomForestRegressor(random_state=self.seed,\n",
    "                                       n_estimators=solucao.estimators,\n",
    "                                       max_depth=solucao.max_depth,\n",
    "                                       min_samples_split=solucao.min_samples_split,\n",
    "                                       min_samples_leaf=solucao.min_samples_leaf)\n",
    "\n",
    "        solucao.fitness = self.objective_function(modelo, solucao)\n",
    "\n",
    "        self.solucoes.append(solucao)\n",
    "\n",
    "        return solucao.fitness\n"
   ],
   "id": "da948c71177c42de",
   "outputs": [],
   "execution_count": 17
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### XGBoost",
   "id": "c26d092119fdb0e1"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.585327Z",
     "start_time": "2025-07-28T23:45:29.550182Z"
    }
   },
   "cell_type": "code",
   "source": [
    "class PSOXGB(Otimizador):\n",
    "    def __init__(self, dataset, features, n_solucoes, n_iteracoes, seed=SEED):\n",
    "        super().__init__(dataset, features, n_solucoes, n_iteracoes, seed)\n",
    "        self.nome_modelo = \"PSO-XGBoost\"\n",
    "        self.BOOSTERS = [\"gbtree\", \"gblinear\", \"dart\"]\n",
    "        self.run()\n",
    "\n",
    "    def run(self):\n",
    "        lower_bound = [10, 10, 0, 0, 0]\n",
    "        uppper_bound = [400, 400, 2, 1, 1]\n",
    "        bounds = (lower_bound, uppper_bound)\n",
    "\n",
    "        options = {'c1': 0.5, 'c2': 0.5, 'w': 0.5}\n",
    "        optimizer = GlobalBestPSO(n_particles=self.n_solucoes,\n",
    "                                  dimensions=5,\n",
    "                                  options=options,\n",
    "                                  bounds=bounds)\n",
    "\n",
    "        optimizer.optimize(self.get_fitness, iters=self.n_iteracoes)\n",
    "\n",
    "    def get_fitness(self, parts):\n",
    "        fit_lst = [self.run_objective_function(parts[j]) for j in range(self.n_solucoes)]\n",
    "\n",
    "        self.solucoes = sorted(self.solucoes, key=lambda a: a.fitness)\n",
    "        best = self.solucoes[0]\n",
    "        self.iteracoes.append(best)\n",
    "        self.salvar_csv()\n",
    "\n",
    "        return fit_lst\n",
    "\n",
    "    def run_objective_function(self, particle_arr):\n",
    "        solucao = SolucaoXGB()\n",
    "        solucao.estimators = int(particle_arr[0])\n",
    "        solucao.max_depth = int(particle_arr[1])\n",
    "        solucao.booster = self.BOOSTERS[int(particle_arr[2])]\n",
    "        solucao.reg_lambda = round(particle_arr[3], 4)\n",
    "        solucao.reg_alpha = round(particle_arr[4], 4)\n",
    "\n",
    "        search = list(filter(lambda par:\n",
    "                             par.estimators == solucao.estimators and\n",
    "                             par.max_depth == solucao.max_depth and\n",
    "                             par.booster == solucao.booster and\n",
    "                             par.reg_lambda == solucao.reg_lambda and\n",
    "                             par.reg_alpha == solucao.reg_alpha, self.solucoes))\n",
    "\n",
    "        if search:\n",
    "            self.solucoes.append(search[0])\n",
    "            return search[0].fitness\n",
    "\n",
    "        updater = \"coord_descent\" if solucao.booster == \"gblinear\" else None\n",
    "        modelo = XGBRegressor(random_state=self.seed,\n",
    "                              n_estimators=solucao.estimators,\n",
    "                              max_depth=solucao.max_depth,\n",
    "                              booster=solucao.booster,\n",
    "                              reg_lambda=solucao.reg_lambda,\n",
    "                              reg_alpha=solucao.reg_alpha,\n",
    "                              updater=updater)\n",
    "\n",
    "        solucao.fitness = self.objective_function(modelo, solucao)\n",
    "\n",
    "        self.solucoes.append(solucao)\n",
    "\n",
    "        return solucao.fitness\n"
   ],
   "id": "d98be8efeeb38eb",
   "outputs": [],
   "execution_count": 18
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "# Carregar Datasets",
   "id": "6b4216b7eb9fd06c"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.673964Z",
     "start_time": "2025-07-28T23:45:29.594276Z"
    }
   },
   "cell_type": "code",
   "source": [
    "df_consumo = pd.read_csv(\"./dados/dados_normalizados_lagados.csv\", sep=';', decimal='.')\n",
    "df_features = pd.read_csv(\"resultados/features/fitness_features_regressao.csv\", sep=\";\", decimal=\".\")\n",
    "\n",
    "df_features = df_features.sort_values(\"RRMSE\").head(1).reset_index(drop=True)\n",
    "df_features = pd.DataFrame(\n",
    "    columns=str(df_features.iloc[0][\"FEATURES\"]).replace(\"(\", '').replace(\")\", '').replace(\"'\", \"\").split(\", \"))\n",
    "\n",
    "df_consumo = df_consumo.sort_values(\"CAMPUS\").sort_values(\"DATA\")\n",
    "df_features = df_features.columns\n",
    "df_features"
   ],
   "id": "4ee6eba5d31a7cc3",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['TEMP_MÉD_ACC_MENS', 'TEMP_MIN_MAX_MENS', 'TEMP_MIN_ACC_MENS',\n",
       "       'PRECIPITAÇÃO_MIN_MENS', 'TEMP_MAX_ACC_MENS', 'PRECIPITAÇÃO_MAX_MENS',\n",
       "       'DIA_DA_SEMANA_sex', 'MÊS_abr', 'MÊS_jul', 'MÊS_mai', 'MÊS_mar',\n",
       "       'ANO_2024', 'ANO_2015', 'ANO_2017', 'ANO_2020', 'ANO_2014',\n",
       "       'CAMPUS_ARAPONGAS', 'CAMPUS_CAMPO LARGO', 'CAMPUS_COLOMBO',\n",
       "       'CAMPUS_LONDRINA - CENTRO', 'CAMPUS_LONDRINA - NORTE',\n",
       "       'CAMPUS_PARANAVAÍ', 'CAMPUS_QUEDAS DO IGUAÇU', 'CURSOS_GRAD_MATUTINO',\n",
       "       'CURSOS_GRAD_VESPERTINO', 'FÉRIAS', 'COVID', 'ORDEM', 'LAG_01',\n",
       "       'LAG_02', 'LAG_03', 'LAG_04', 'LAG_05', 'LAG_06', 'LAG_08', 'LAG_11',\n",
       "       'LAG_12'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 19
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.702036Z",
     "start_time": "2025-07-28T23:45:29.689922Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# Executa a otimização dos modelos normalmente, e reinicia a execução do código para o modelo LSTM - em função de estouro de memória.\n",
    "parser = argparse.ArgumentParser(description=\"Otimização de modelos.\")\n",
    "parser.add_argument('--s', default=SEEDS[0], help=\"Semente.\")\n",
    "parser.add_argument('--o', default=\"PSO\", help=\"Otimizador.\")\n",
    "parser.add_argument('--m', help=\"Modelo.\")\n",
    "parser.add_argument('--continua', default=\"1\",\n",
    "                    help=\"Continua a otimização do modelo com os demais otimizadores e sementes.\")\n",
    "args = parser.parse_args()\n",
    "\n",
    "if args.m is not None:\n",
    "    print(f\"Executando a otimização do modelo {args.m} com o otimizador {args.o} e semente {args.s}.\")\n",
    "    if args.o == \"PSO\":\n",
    "        if args.m == \"ESN\":\n",
    "            PSOESN(df_consumo, df_features, N_SOLUCOES, N_ITER, int(args.s))\n",
    "        elif args.m == \"LSTM\":\n",
    "            PSOLSTM(df_consumo, df_features, N_SOLUCOES, N_ITER, int(args.s))\n",
    "        elif args.m == \"MLP\":\n",
    "            PSOMLP(df_consumo, df_features, N_SOLUCOES, N_ITER, int(args.s))\n",
    "        elif args.m == \"RF\":\n",
    "            PSORF(df_consumo, df_features, N_SOLUCOES, N_ITER, int(args.s))\n",
    "        elif args.m == \"XGBoost\":\n",
    "            PSOXGB(df_consumo, df_features, N_SOLUCOES, N_ITER, int(args.s))\n",
    "        if args.continua == \"1\":\n",
    "            os.execv(sys.executable,\n",
    "                     [sys.executable,\n",
    "                      *sys.argv,\n",
    "                      '--s', str(args.s),\n",
    "                      '--o', 'SA',\n",
    "                      '--m', args.m,\n",
    "                      '--continua', args.continua])\n",
    "    elif args.o == \"SA\":\n",
    "        if args.m == \"ESN\":\n",
    "            SAESN(df_consumo, df_features, N_SOLUCOES, N_ITER, int(args.s))\n",
    "        elif args.m == \"LSTM\":\n",
    "            SALSTM(df_consumo, df_features, N_SOLUCOES, N_ITER, int(args.s))\n",
    "        elif args.m == \"MLP\":\n",
    "            SAMLP(df_consumo, df_features, N_SOLUCOES, N_ITER, int(args.s))\n",
    "        elif args.m == \"RF\":\n",
    "            SARF(df_consumo, df_features, N_SOLUCOES, N_ITER, int(args.s))\n",
    "        elif args.m == \"XGBoost\":\n",
    "            SAXGB(df_consumo, df_features, N_SOLUCOES, N_ITER, int(args.s))\n",
    "        if args.continua == \"1\" and SEEDS.index(int(args.s)) < len(SEEDS) - 1:\n",
    "            os.execv(sys.executable,\n",
    "                     [sys.executable, *sys.argv, '--s', str(SEEDS[SEEDS.index(int(args.s)) + 1]), '--o', 'PSO', '--m',\n",
    "                      args.m, '--continua', \"1\"])\n",
    "\n",
    "else:\n",
    "    print(\"Argumentos não informados. Executando a otimização dos modelos ESN, LSTM, MLP, RF e XGB.\")\n",
    "    for seed in SEEDS:\n",
    "        PSOESN(df_consumo, df_features, N_SOLUCOES, N_ITER, seed)\n",
    "        PSOMLP(df_consumo, df_features, N_SOLUCOES, N_ITER, seed)\n",
    "        PSORF(df_consumo, df_features, N_SOLUCOES, N_ITER, seed)\n",
    "        PSOXGB(df_consumo, df_features, N_SOLUCOES, N_ITER, seed)\n",
    "        SAESN(df_consumo, df_features, N_SOLUCOES, N_ITER, seed)\n",
    "        SAMLP(df_consumo, df_features, N_SOLUCOES, N_ITER, seed)\n",
    "        SARF(df_consumo, df_features, N_SOLUCOES, N_ITER, seed)\n",
    "        SAXGB(df_consumo, df_features, N_SOLUCOES, N_ITER, seed)\n",
    "    os.execv(sys.executable,\n",
    "             [sys.executable, *sys.argv, '--s', str(SEEDS[0]), '--o', 'PSO', '--m', 'LSTM', '--continua', \"1\"])\n"
   ],
   "id": "ad4bd534fadf80c5",
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "usage: ipykernel_launcher.py [-h] [--s S] [--o O] [--m M]\n",
      "                             [--continua CONTINUA]\n",
      "ipykernel_launcher.py: error: unrecognized arguments: -f /home/eduardo/.local/share/jupyter/runtime/kernel-0341fe52-cd6e-4289-a14f-b7642ae18c45.json\n"
     ]
    },
    {
     "ename": "SystemExit",
     "evalue": "2",
     "output_type": "error",
     "traceback": [
      "An exception has occurred, use %tb to see the full traceback.\n",
      "\u001B[0;31mSystemExit\u001B[0m\u001B[0;31m:\u001B[0m 2\n"
     ]
    }
   ],
   "execution_count": 20
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "# Optimization Results\n",
    "## Fitness Evolution"
   ],
   "id": "c94b4e8c997228e6"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-29T11:45:51.989617Z",
     "start_time": "2025-07-29T11:45:50.612261Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def formatar_y(valor, pos):\n",
    "    if valor >= 1:\n",
    "        return f\"{valor:.2f}+\"\n",
    "    return f\"{valor:.2f}\"\n",
    "\n",
    "\n",
    "for modelo in MODELOS:\n",
    "    plt.figure(figsize=(6, 4))\n",
    "    plt.rcParams['xtick.labelsize'] = 18\n",
    "    plt.rcParams['ytick.labelsize'] = 18\n",
    "    plt.rcParams.update({'font.size': 18})\n",
    "    plt.rcParams['axes.prop_cycle'] = plt.cycler(\n",
    "        color=[\"blue\", \"red\"])\n",
    "\n",
    "    for otimizador in OTIMIZADORES:\n",
    "        df = pd.DataFrame()\n",
    "        final_fitness = {}\n",
    "        for seed in SEEDS:\n",
    "            try:\n",
    "                novo_df = pd.read_csv(f'resultados/otimização - regressão/{otimizador}-{modelo} SEED {seed}.csv',\n",
    "                                      sep=\";\",\n",
    "                                      decimal=\".\", header=0)\n",
    "            except Exception as e:\n",
    "                continue\n",
    "\n",
    "            if otimizador == \"PSO\":\n",
    "                df[seed] = pd.concat([novo_df[\"Fitness\"].to_frame()] * N_ITER, ignore_index=True)\n",
    "                df[seed] = sorted(df[seed].values, reverse=True)\n",
    "            else:\n",
    "                df[seed] = novo_df[\"Fitness\"]\n",
    "            df[seed] = np.where(df[seed] > 1, 1, df[seed])  # Limitar valores de Fitness a 1\n",
    "            final_fitness[seed] = novo_df[\"Fitness\"].iloc[-1]  # Último valor de Fitness para cada seed\n",
    "\n",
    "        df = np.round(df, decimals=2)\n",
    "        best_seed = min(final_fitness, key=final_fitness.get)\n",
    "        plt.plot(range(1, len(df) + 1), [x for x in df[best_seed]], label=f\"{otimizador}-{modelo}\")\n",
    "\n",
    "    plt.xlabel('Avaliações da FO')\n",
    "    plt.ylabel('RRMSE')\n",
    "    plt.gca().yaxis.set_major_formatter(FuncFormatter(formatar_y))\n",
    "    plt.xlim(0, N_ITER * N_SOLUCOES)\n",
    "    ax = plt.gca()\n",
    "    ax.set_facecolor('white')\n",
    "    plt.grid(True, color='grey', linestyle=\"--\", linewidth=0.5)\n",
    "    plt.legend(facecolor='white')\n",
    "    plt.savefig(f\"./resultados/otimização - regressão/{modelo}.png\", bbox_inches='tight')\n",
    "    plt.show()\n"
   ],
   "id": "6f002bb1d7ed628",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ],
      "image/png": "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hdbx8fHhd7/7HQCHDh3iypUrhbYv6bJWx/KS6vLw8MDf37/AVwH5B7oL0zn+xyv0I9noTfLRlxWzqVCDlZqayqFDh9i/f7/TuZiUUixYsIDmzZvz9NNPc+HCBS0GudevX994HBMT43S9/Mvyb1Oc/OO2WrVq5XS9/Muio6ML7SchIaHYJstRW2nrcsrRYP165aIQQgghKqZcDZbdbmfChAnUqVOHDh060LlzZ2655RZGjBjB5cuXjfW2b99O27ZteeKJJ4zB8cOGDTPOqZupVatWuLjkvf38V+3dyLEsJCSkVAPcIe9cdq1fJ/As7jY2+RvN/Ovlv6qxuCsEHbUVd6VhqUiDpZXw8HCzSxBOSDZ6k3z0ZcVsytxgZWdn069fPz777DMyMjKMaRdyc3NZs2YN/fr1IzMzk7feeou+ffty/PhxXFxcGDt2LIcPH+bLL7+kU6dOVfFeysTb25tu3boBsHHjxiLXUUoZA+j69+9f6tf29PSkZ8+eQPGHRU+cOAHkNVdhYWHG8927dzdulO2stujoaGP7stRWJGmwtOIsc2E+yUZvko++rJhNmRushQsXsm/fPpRS9OnThzfffJPZs2dz//33o5TixIkTTJkyhRdeeAGlFOPHj+fUqVN89tlnFT/SUskmTJgAwLZt24o8qrZ8+XLOnj0LlH3mecfEnxEREUXOd5WamsoHH3wA5F39cMsttxjLfHx8GDlyJAAffPBBgRtDO8yePRvIG3+V/wrEcpEGSyulvVpVVD/JRm+Sj74smU1ZR88PGDBAubi4qClTphRaNnnyZGWz2ZSLi4sKCgpS27dvL+vLV6usrCzVtm1b44q9LVu2KKWUysnJUcuWLVP+/v4KUIMGDSq07fTp042rBKOiogotz8nJUV26dFGAatSokdq4caPKyclRSil14sQJ1adPHwUoFxcXtXXr1kLbnz17Vvn4+ChA9ejRQ50+fVoplXf14cyZM5XNZlOAmj17dpnfd6ErIO6/P+8qwi++KPNricr37bffml2CcEKy0Zvko6+alE1pryIsc4NVv3595eLioi5cuFBo2fnz540G66OPPirrS5siKipKhYWFGc2St7e38vT0NP7evn17FR8fX2i7khospZS6fPmyat26tbGel5eXCggIMP7u5uZW7Of09ddfK29vb2P9gIAAVatWLePvEydOVLm5uWV+z4X+cTzwQF6DNW9emV9LVL7r16+bXYJwQrLRm+Sjr5qUTZVN03Dt2jW8vb2LvHFjo0aNjMkvH3zwwbK+tCnCwsI4fPgw06ZNo02bNthsNtzc3OjYsSNvvfUWP/zwA4GBgeV67ZCQEPbv389bb71F586dcXd3Jy0tjbCwMB5//HH279/P5MmTnW4/ePBgDh8+zOTJkwkLCyMtLY3atWvTr18/VqxYwfz584sdRF9qjtnc5RShFhyTDwr9SDZ6k3z0ZcVsyjyTe2ZmZrFX0/n5+ZGWlka9evUqVFh18vPzY+bMmUXOdu7MjBkzmDFjRonreXh4MHXqVKZOnVqu2po1a8ZHH31Urm1LTcZgCSGEEJWq2iYaFRqTBksrnTt3NrsE4YRkozfJR19WzEYaLCENlmbSZUZ9bUk2epN89GXFbMrVYF25coVatWoV+XX16lUAp8tr1aqFq2uZz0yKqiS3ytGK44avQj+Sjd4kH31ZMZtydTpKg1vdiEokR7CEEEKISlXmBmv69OlVUYcwkzRYWnnooYfMLkE4IdnoTfLRlxWzkQZLSIOlme3btzNw4ECzyxBFkGz0Jvnoy4rZyCB3IQ2WZhISEswuQTgh2ehN8tGXFbORBktIg6WZ4OBgs0sQTkg2epN89GXFbKTBEtJgaaZr165mlyCckGz0Jvnoy4rZSIMl5FY5mlm7dq3ZJQgnJBu9ST76smI20mAJOYIlhBBCVDJpsIQ0WJpp37692SUIJyQbvUk++rJiNtJgCWmwhBBCiEomDZaQW+Vo5sCBA2aXIJyQbPQm+ejLitlIgyXkCJYQQghRyWxKbixoOYmJiQQEBGC32/H394e4OLjllryF2dlQq5a5BVpccnIyvr6+ZpchiiDZ6E3y0VdNyqbQ71An5AiW+O0IFshpQg3s3r3b7BKEE5KN3iQffVkxG2mwRMEGS04Tmi4uLs7sEoQTko3eJB99WTEbabAEuLiAu3veY2mwTBcYGGh2CcIJyUZvko++rJiNjMGyoCLPHwcEQGIinDoFzZubW6DFpaen4+mYXV9oRbLRm+Sjr5qUjYzBEmUjVxJq48svvzS7BOGEZKM3yUdfVsxGGiyRRxosIYQQotJIgyXySIOljbZt25pdgnBCstGb5KMvK2YjDZbIIw2WNmrKOIWaSLLRm+SjLytmIw2WyCO3y9HGjz/+aHYJwgnJRm+Sj76smI00WCKPHMESQgghKo00WCKPNFjaGDx4sNklCCckG71JPvqyYjbSYIk80mBpY//+/WaXIJyQbPQm+ejLitlIgyXySIOljdjYWLNLEE5INnqTfPRlxWykwRJ5pMHShp+fn9klCCckG71JPvqyYjbSYIk8jktopcEy3cCBA80uQTgh2ehN8tGXFbORBkvkkSNY2li+fLnZJQgnJBu9ST76smI20mCJPNJgCSGEEJVGGiyRRxosbbRu3drsEoQTko3eJB99WTEbabBEHmmwtBEQEGB2CcIJyUZvko++rJiNNFgij9wqRxu7d+82uwThhGSjN8lHX1bMRhoskUeOYAkhhBCVRhoskUcaLG3079/f7BKEE5KN3iQffVkxG2mwRB5psLRx/Phxs0sQTkg2epN89GXFbKTBEnmkwdLGxYsXzS5BOCHZ6E3y0ZcVs5EGS+SRmdy14e3tbXYJwgnJRm+Sj76smI1NKaXMLkJUr8TERAICArDb7fj7++c9eeQItGsHt9wCV6+aW6AQQgihqSJ/hxZBjmCJPHKKUBuLFy82uwThhGSjN8lHX1bMRhoskcfRYKWmwhtvwDffmFuPEEIIcRNzNbsAoQl/f3BxgdxceOklcHWFy5chONjsyiynefPmZpcgnJBs9Cb56MuK2cgRLJHHzw/mzYPHH4fAQMjOhqNHza7KkurWrWt2CcIJyUZvko++rJiNNFjiNxMn5jVZ3brl/d2C85boICIiwuwShBOSjd4kH31ZMRtpsERhjruenzhhbh1CCCHETUoaLFFYq1Z5f8oRLFPcf//9ZpcgnJBs9Cb56MuK2UiDJQqTI1imioyMNLsE4YRkozfJR19WzEYaLFFYy5Z5f16+DNevm1qKFUVHR5tdgnBCstGb5KMvK2YjDZYozN8fGjbMeyxHsaqdu7u72SUIJyQbvUk++rJiNnKrHAsq1TT//fvnTTb68cfwxBPVW6AQQgihKblVjqgYGYdlmuXLl5tdgnBCstGb5KMvK2YjDZYomlxJaJrs7GyzSxBOSDZ6k3z0ZcVspMESRZMjWKZp2rSp2SUIJyQbvUk++rJiNnIvQlE0xxGsc+fASvOXdO0Kr79uagmNGzc2df/COclGb5KPvqyYjTRYomjBwdCsGURGwrZtZldTfbZtyxvUb+L/trZv386YMWNM279wTrLRm+SjLytmIw2WcG7bNti1y+wqqs9LL8HZs3njzix4OFsIIUTlkQZLONeoEYwaZXYV1efLL/MarBMnYMgQ08ro2bOnafsWxZNs9Cb56MuK2cggdyEcHAP7Tb5yMiYmxtT9C+ckG71JPvqyYjbSYAnh4BjYb/KVk1a8Z9fNQrLRm+SjLytmIw2WEA75j2CZeIMDFxf5ttSVZKM3yUdfVsxGbpVjQaWd5t9yMjPB2xtycuDiRWjQwOyKhBBCaEZulSNEWbm7w2235T02cRzWqlWrTNu3KJ5kozfJR19WzEYaLCHy02AG+4yMDNP2LYon2ehN8tGXFbORBgtISkpixowZtG3bFl9fXwICAujcuTP/+te/yMzMrNR9/b//9/+w2WzYbDbCwsJKXD8yMpIpU6bQpEkTPD09qVu3LgMGDGDlypWVWpf4lQb3YLTijMc3C8lGb5KPvqyYjeXnwYqOjqZXr16cO3cOAG9vbzIyMti3bx/79u3j888/Z+vWrQQGBlZ4X9u3b+ejjz4q9frr168nPDyc1NRUAPz9/bl27RqbN29m8+bNTJo0iXnz5mGz2Spcm/iVBkewmjdvbtq+RfEkG71JPvqyYjaWPoKVk5PD0KFDOXfuHLfeeivffPMNKSkppKamsmTJEvz8/Dhw4ACPPvpohfeVmprKk08+iaurK506dSpx/aioKB555BFSU1Pp1q0bp06dwm63Y7fbmTZtGgDz589nzpw5Fa5N5JP/CFZ2tilXE27ZsqXa9ylKR7LRm+SjLytmY+kGa8GCBRw5cgSAlStX0rdvXyDvctJRo0bx4YcfArBhwwa2bt1aoX29/PLLREZG8sILL3DHHXeUuP60adNISUkhJCSEdevWGd2/r68vM2fO5KmnngLg9ddfJyEhoUK1iXxatgSbDeLiwM0t75Y516+bXZUQQoibjKUbrIULFwLQu3dvunbtWmj56NGjadKkCQCLFi0q935++OEH3n33XZo3b84rr7xS4vopKSnGGKunn36a2rVrF1rnxRdfBPIuF129enW5axM38PaGwYN/+/u5c/Djj9VaQrdu3ap1f6L0JBu9ST76smI2lm2wUlNT+f777wEYNGhQkevYbDYGDhwIwObNm8u1n4yMDB5//HGUUnz44Yd4enqWuE1ERARpaWnF1hYWFkarX09nlbc24cTatRAfD7175/398uVq3X1cXFy17k+UnmSjN8lHX1bMxrIN1okTJ8jNzQWgTZs2TtdzLIuNjSU+Pr7M+5k1axYnTpzgiSeeoFevXqXa5ujRo8bj4k4nOmo7duxYmesSxbDZIDAw72bXUO0N1qlTp6p1f6L0JBu9ST76smI2lr2K8NKlS8bjBsXM2J1/2aVLlwgKCir1Pg4cOMCbb75JvXr1ePPNN8tcW2BgIN7e3iXWlv+9FCUjI6PAHCSJiYmlrsXSbr01789qbrCEEELc/CzbYCUlJRmPi2ti8i/Lv01JsrOzefzxx8nOzubdd98t0zQPjv0UV1f+5SXV9cYbbzBz5sxCzy9fvhxvb29GjBjB1q1bsdvt1K1bly5durBu3ToAOnToQG5uLgcPHgRg2LBhREREcO3aNYKCgujZs6cxBqxdu3a4ubnx008/AfDAAw+wb98+rly5gr+/P/3792fFihVA3pE5X19f9uzZA8CAAQM4evQoMTEx+Pj4MGTIEJYuXQpAixYtCA4ONk7p9u3bl9OnT3P+/Hk8PDwYMWIES5cuJTc3l2bNmtGgQQN27NgBQK9evTh//jxnz57F1dWV8PBwVq5cSWZmJqGhoTRr1oxvv/0WgO7du3P16lVOnz4NwJhfG6zoPXs4v3MnrVu3Nk7Hdu3aFbvdzvFf58sKDw9n48aNJCUlERISQocOHVi/fj0AnTt3Jj093big4qGHHmL79u0kJCQQHBxM165dWbt2LQDt27fnzjvvZPHixQAMHTqU3bt3ExcXR2BgIL169eLLL78EoG3btnh6evLjr2PEBg8ezP79+4mNjcXPz4+BAweyfPlyAFq3bk1AQAC7d+8GoH///hw/fpyLFy/i7e3NsGHDjH02b96cunXrEhERAcD9999PZGQk0dHRuLu7M3LkSJYvX052djZNmzalcePGbN++HYCePXsSExNDZGSkcbHIqlWryMjIoHHjxjRv3ty4mqhbt27ExcUZ/7MdNWoU69atIyUlhQYNGtCmTRs2bdoEwN13301ycrJxtPbhhx9m8+bNJCYmUq9ePTp16sTXX38NQMeOHcnKyuLw4cMADB8+nB07dhAfH0+dOnXo3r07a9asAeCuu+7CxcWF/fv3AzBkyBD27t3L1atXCQgIoE+fPsYM1G3atKFTp07G5zRo0CAOHTrEpUuX8PX1ZfDgwSxbtgyAli1bEhQUxK5duwDo168fJ0+e5MKFC3h5eTF8+HCWLFmCUorbb7+dkJAQdu7cCeSNCT137hxRUVG4ubnx8MMPs2LFCrKysmjSpAlhYWFs27YNgB49ehAbG8uZM2ew2WyMHj2a1atXk5aWRqNGjWjZsiXffPMNAPfeey/x8fGcPHkSgEceeYT169eTnJxM/fr1ufPOO9mwYQMAXbp0ITU11TiafrP8jFBKsXjx4ur7GTFmDGvWrCE1NZWGDRtW288IyPsPPNw8PyMc2dSEnxGOn3clUhb1+eefK0AB6syZM07X27x5s7Herl27Sv36r776qgLUkCFDCi2bMGGCAlRoaGiR206ePFkBqkGDBsXu46WXXlKAcnd3L3a99PR0Zbfbja8LFy4oQNnt9lK/H0taskQpUKpHj2rd7Zo1a6p1f6L0JBu9ST76qknZ2O32Uv0OtewRLD8/P+OxYyLPouRfln+b4hw/fpxXX30VX19f3n///XLXVlxd+ZeXVJeHhwceHh5lrsPyTDpFmJKSUq37E6Un2ehN8tGXFbOx7CD3+vXrG49jYmKcrpd/Wf5tivPMM8+QmZnJyy+/TGBgIMnJyQW+srOzAVBKGc9lZWUV2k9CQkKxTZajttLWJcrIpAaruDGBwlySjd4kH31ZMRvLNlitWrXCxSXv7ee/au9GjmUhISGlHuAeFRUF5M1V5efnV+jr888/B+D8+fPGc//973+N7fNf1VjcFYKO2kozcakoB0eDlZICZRh/V1HFXdUqzCXZ6E3y0ZcVs7Fsg+Xt7W1MfLZx48Yi11FKGQPo+vfvX221de/eHS8vr2Jri46O5sSv98urztosxdc37wuq9SiW49+c0I9kozfJR19WzMayDRbAhAkTANi2bZtxpUp+y5cv5+zZswCMHz++1K977tw5lFJOvxz7DQ0NNZ579tlnje19fHwYOXIkAB988AF2u73QPmbPng3kjb8aPnx4qWsTZSRTNQghhCgHyzdYbdu2RSnFyJEjjfsN5ubmsnz5ciZPngzkXY7dp0+fAtvOmDEDm82GzWbj3LlzlV7brFmz8PHx4fLlywwdOpQzZ84AeQMFZ82axdy5cwF45ZVXyjQFhCgjExqsu+++u9r2JcpGstGb5KMvK2Zj2asIAVxdXfnqq6+MeWf69u2Lt7c3ubm5pKenA3lzjjjGTFWnJk2asGzZMsLDw9m5cyfNmzcnICCA5ORkcnJyAJg4cSLPP/98tddmKSY0WMnJydW2L1E2ko3eJB99WTEbSx/Bgrx7+h0+fJhp06bRpk0bbDYbbm5udOzYkbfeeosffvjBtCNEgwcP5vDhw0yePJmwsDDS0tKoXbs2/fr1Y8WKFcyfPx+bzWZKbZZhQoMltz7Sl2SjN8lHX1bMxtJHsBz8/PyYOXNmkbOdOzNjxgxmzJhRrv0tWLCABQsWlGrdZs2a8dFHH5VrP6ISyBgsIYQQ5WD5I1hCFMuEBuvhhx+utn2JspFs9Cb56MuK2UiDJURxQkLy/qzGBstxLzOhH8lGb5KPvqyYjTRYQhTHhCNYiYmJ1bYvUTaSjd4kH31ZMRtpsIQojqPBSkiAX68srWr16tWrlv2IspNs9Cb56MuK2UiDJURxgoLA3T3vcWxsteyyU6dO1bIfUXaSjd4kH31ZMRu5ilCI4thseeOwzp+HgQPB27vKd5mdkAAyeWze0cNPP81rcjXx9ddfM2bMGLPLEE5IPvqyYjbSYAlRkrvuymuwTp2qlt0FAVTB3QFuOgcOwJtvwj//aXYlQghRZtJgCVGSL76A3bvh1xn0q9rFixdp2LBhtexLW8eOwdSp8N//wgsvaHMUq2PHjmaXIIoh+ejLitlIg2VhKSlQq5bZVdwMfKBr32rb2+Xjxwls3bra9qelbv3xXLCIWkcOkTnn/8h6pfSTAFcluz2blBSzqxDOSD76qknZlPZ92JRSqmpLEbpJTEwkICAAsAP+ZpcjRJFGsoIVhHOdABYw0exyyu0rHmQb95tdhhCi0iQCAdjtdvz9nf8OlQbLgqTBEjcDG7kcoS13cNzsUiokCV9CiSYBPU5zCiEqqnQNlpwitLBLl6CYfxvCJGlpaXh5eZldhgZcsJ1aSeayL6pt/FtJsrOzcHV1K/X6rl8uwy/yZ2JffJesl2dUXWECkO8dndWkbBIToX79kteTI1gW5DiCVVL3LcyxadMmBgwYYHYZoghlzmbZMhg1CmrXhuho+R9NFZPvHX3VpGxK+ztUjmAJoZn4+HizSxBOlDmbkSOhZUs4eRL++lfo169qChMAeO/cWfoRyKJa1ahsUlNLtZocwbIgOYKlt82bN9O/f3+zyxBFKFc2n30Gjz1WNQUJIapd3ggsZJC7KEwaLL2lpqbiXQ0zxouyK1c22dnw+9/D0aNVU5Qw5OTmUstF7gCno5qUTWJ2NgF79sgpQiFuNmvWrLHcLSVuFuXKxtUV5s6tmoJEAcsWL5bvHU3VqGwSEyEgoMTVakY7KYQQQgihEWmwhNDMXXfdZXYJwgnJRm+Sj76smI00WEJoxqWGjFOoiSQbvUk++rJiNtZ7x0Jobv/+/WaXIJyQbPQm+ejLitlIgyWEEEIIUclkmgYLkmka9JaUlISfn5/ZZYgiSDZ6k3z0VZOyKe3vUDmCJYRm9u7da3YJwgnJRm+Sj76smI00WEJo5urVq2aXIJyQbPQm+ejLitlIgyWEZgJKMYGdMIdkozfJR19WzEbGYFmQjMHSW0ZGBh4eHmaXIYog2ehN8tFXTcpGxmAJcZNatWqV2SUIJyQbvUk++rJiNnIvQgtyHLRMTEw0uRJRlNTUVMlGU5KN3iQffdWkbBzvo6QTgHKK0ILOnj1Ls2bNzC5DCCGEuGlduHCBhg0bOl0uR7AsKCgoCIDz589bcuChzhITE2nUqBEXLlyQ8XGakWz0Jvnoq6Zlo5QiKSmJ+vXrF7ueNFgW5LgnVEBAQI34x14T+fv7Szaakmz0JvnoqyZlU5qDEzLIXQghhBCikkmDJYQQQghRyaTBsiAPDw+mT59eY+YkqUkkG31JNnqTfPRl1WzkKkIhhBBCiEomR7CEEEIIISqZNFhCCCGEEJVMGiwhhBBCiEomDZYQQgghRCWTBssikpKSmDFjBm3btsXX15eAgAA6d+7Mv/71LzIzM80ur8ZasGABNputxK8tW7Y4fY0rV64wdepUWrRogZeXF0FBQfTo0YOPP/64xHthWVlqaiobNmzgtddeY8SIEYSGhhqf94wZM0r1GhX97CMjI5kyZQpNmjTB09OTunXrMmDAAFauXFnBd3fzq0g+M2bMKNX31c8//1zs60g+Rbt27Rrz589n3LhxtG7dGh8fHzw8PGjYsCHDhw/nyy+/LPE15HsHUKLGO3funAoLC1OAApS3t7fy8PAw/t6+fXsVHx9vdpk10vz58xWgXFxcVL169Zx+7dixo8jt9+3bp+rUqWNk5evrq1xdXY2/9+/fX6Wnp1fzu7o5bNu2zficbvyaPn16idtX9LP/+uuvlbe3t7G+v7+/cnFxMf4+adIklZubW4nv+OZSkXymT5+uAOXm5lbs91VUVJTT15B8nMv/7xxQnp6eysfHp8BzgwYNUikpKUVuL987eaTBquGys7NV27ZtFaBuvfVW9c033yillMrJyVFLlixRfn5+xjeLqHyOBis0NLTM216/fl2FhIQoQLVs2VL9+OOPSimlMjIy1H/+8x/l5uamAPX0009XctU1w7Zt21RgYKDq06ePev7559XixYuNz7OkX+AV/ezPnj1r/ELq1q2bOnXqlFJKqaSkJDVt2jTjF8Xs2bMr9T3fTCqSj6PBuu+++8q1b8mneIDq0qWLev/991VkZKTxfFRUlHriiSeMz2fcuHGFtpXvnd9Ig1XDffzxx8Y/yF27dhVa/sUXXxjLt2zZYkKFNVtFGqxXXnlFAcrLy0udPXu20PJ//OMfClC1atUyfgiJ32RnZxd6LjQ0tFS/wCv62Y8bN04BKiQkRCUkJBRa/tRTTxn/M7fq0eOK5FPRBkvyKd63335b7PIpU6YYvzfOnz9fYJl87/xGxmDVcAsXLgSgd+/edO3atdDy0aNH06RJEwAWLVpUrbWJ4jnyyJ9Rfn/4wx/w9fUlJyeHzz//vLrL016tWrXKvW1FPvuUlBRjnMjTTz9N7dq1C23/4osvApCYmMjq1avLXefNrCL5VITkU7LevXsXu/yJJ54wHu/bt6/AMvne+Y00WDVYamoq33//PQCDBg0qch2bzcbAgQMB2Lx5c7XVJop36tQpzp8/DzjPztfXlx49egCSXWWq6GcfERFBWlpasduHhYXRqlWrIrcXVUvyqThPT0/jcU5OjvFYvncKkgarBjtx4gS5ubkAtGnTxul6jmWxsbHEx8dXS21W88svv9CxY0d8fX3x8vKiadOmjBs3ju3btxe5/tGjR43Hpcnu+PHjlVqvlVX0s8+//R133FHi9seOHStXnSLvs2vTpg1eXl74+vrSokULJk+ezIEDB5xuI/lUXP6fW23btjUey/dOQdJg1WCXLl0yHjdo0MDpevmX5d9GVJ7U1FT279+Pu7s7ubm5REVF8fnnn9O7d28ef/xxsrOzC6xf1uwSExNJTk6umuItpqKfvWP7wMBAvL29S9xevufKLy4ujhMnTuDt7U1GRganT5/m448/pmPHjrzyyitFbiP5VMz169d54403AOjRowctWrQwlsn3TkHSYNVgSUlJxuPi/rHmX5Z/G1Fx9evXZ/r06Rw6dIj09HTi4+ONU7d9+/YFYP78+Tz33HMFtpPszFPRz97xuLht8y+X3Mru9ttv58033+TUqVOkp6dz7do1UlJS2LRpEx07dkQpxeuvv86//vWvQttKPuWXm5vLY489xuXLl/Hw8OC9994rsFy+dwqSBkuIKtS/f39mzJhBu3bt8PDwAPIG9957771s2rSJYcOGAfD+++9z5swZM0sV4qbx6KOP8vzzz9O8eXPc3NwAcHd3p3///kRERNC5c2cgb0JSu91uZqk1yp/+9CfWrVsH5P3MuvPOO02uSG/SYNVgfn5+xuPU1FSn6+Vfln8bUbVcXFx46623gLz/Ga5du9ZYJtmZp6KfveNxcdvmXy65VS5PT0/+8Y9/AJCcnMzWrVsLLJd8yucvf/kL//nPfwB45513ePzxxwutI987BUmDVYPVr1/feBwTE+N0vfzL8m8jqt5tt91GcHAwAGfPnjWeL2t2/v7++Pr6VlGV1lLRz96xfUJCQrG/KBzby/dc5cs/JU3+7yuQfMrjhRdeME63zpkzh2effbbI9eR7pyBpsGqwVq1a4eKSF3H+qzNu5FgWEhJCUFBQtdQmipf/CpzSZNe6desqr8kqKvrZ59++uKucHNsXd7WUqHyST9k8//zzzJkzB4A333yTv/zlL07Xle+dgqTBqsG8vb3p1q0bABs3bixyHaUUmzZtAvLGC4nqFRkZSVxcHECBSflatGhB48aNAefZpaSksHPnTkCyq0wV/ey7d++Ol5dXsdtHR0dz4sSJIrcXFffDDz8Yj2+c7FLyKb2//OUvxjCGN998k+eff77Y9eV75wZmTyUvqpbjVjk2m0398MMPhZYvXbpUbpVTRUq6GWlubq566KGHjJtBnzx5ssByxy0nvL29i7xp7ezZs+VWOWVU1lvllPezd9zu49Zbb1XXr18vtPzpp59WgPLz89P+dh/VqTT5lPR9lZ6eru6++24FKB8fnyJvtyL5lGzq1KnG74a33nqr1NvJ985vpMGq4bKysoybPTdo0MBoonJyctSyZcuUv7+/3Oy5ikRFRanOnTuruXPnqsjISOMXQ05Ojtq9e7caMGCA8QOsqBuf5r9pauvWrdW+ffuUUnk3TX3//feVu7u73Oy5BPHx8eqXX34xvho1aqQA9fzzzxd4PikpqcB2Ff3s89+wtkePHur06dNKKaWSk5PVzJkzlc1mu2luWFuVypPP9u3bVZ8+fdSnn36qLly4YDyfmZmptmzZojp37lziDYEln+K98MILxmf49ttvl2lb+d75jTRYFhAVFaXCwsKMbxhvb2/l6elp/L19+/ba/0/gZhQVFWV8xoDy8PBQwcHBysPDo8DzkyZNUllZWUW+xr59+1SdOnWMdf38/Iy70QOqf//+Kj09vZrf2c3DcUSkpK8JEyYU2rain/3XX3+tvL29jfUDAgJUrVq1jL9PnDixxKMxNV158tm2bVuBZV5eXio4OLhANi4uLuqll14qdt+ST9Gio6MLfI716tUr9mvOnDmFXkO+d/JIg2URiYmJatq0aapNmzbKx8dH+fn5qY4dO6q33npLZWRkmF1ejZSamqree+89NXbsWNW6dWt1yy23KFdXV+Xr66tatmypHn/8cRUREVHi68TGxqrnnntO3X777crT01PVrl1bde/eXf3vf/9TOTk51fBObl4VabCUqvhn//PPP6vJkyersLAw5e7ururUqaP69eunVqxYUcnv9OZUnnzi4uLUW2+9pUaOHKmaN2+ugoKClKurq/L391d33nmn+v3vf68OHz5cqv1LPoXd+B/Dkr6cnc6V7x2lbEophRBCCCGEqDRyFaEQQgghRCWTBksIIYQQopJJgyWEEEIIUcmkwRJCCCGEqGTSYAkhhBBCVDJpsIQQQgghKpk0WEIIIYQQlUwaLCGEEEKISiYNlhBCCCFEJZMGSwhxU7DZbNhsNrZv316mZWaJi4tj8ODB+Pj40LRpU6ZPn86VK1d49913sdlsHDlyxOwSK825c+eMDM6dO2d2OUJoQRosISwuISEBT09P4xfkmTNnzC6pRvjnP//Jhg0bjKZj1qxZhISE8Kc//Yk77riDVq1amV1ijRAWFmb82y3ua+LEiU5fIycnh88//5zw8HCaNGmCj48Pfn5+3HbbbTz22GOsWbOm+t6QqDFczS5ACGGuzz//nIyMDOPvn3zyCW+88YaJFZVdixYtAPD29ja5kt+0atWK119/nRdffJErV66wadMmTp06xS233MLEiRNxdZUfv5XJ09OTgIAAp8udLTtw4ABjx47l5MmTxnO+vr7k5uYSGRlJZGQkn332GV26dGHJkiU0adKk0msXNZPc7FkIi2vfvj0HDx7kD3/4A++99x633norFy5coFatWmaXVoDNZgNg27Zt9OrVy9xiRAHnzp0zGo+oqCjCwsKqbd9hYWFER0czYcIEFixYUKZtd+zYweDBg0lJSSEwMJBXXnmFsWPHEhISAkB0dDQLFy5k9uzZpKamUrduXb777jtatmxZBe9E1DRyilAIC9u/fz8HDx6kdu3avPnmmzRt2pTLly+zYcMGs0sTokpdvXqVUaNGkZKSQsOGDdm7dy9//vOfjeYKIDQ0lGnTpvHdd99Ru3Ztrl69ysMPP0x6erqJlYubhTRYQljYvHnzABg1ahSenp489thjBZ7P7+2338Zms1GvXj2ys7OdvqZSitDQUGw2G6+99prxfG5uLt9//z1/+9vfuOeee2jYsCHu7u7UqVOH++67j7lz55KVlVWu91HcIPdTp04xZ84c+vbtS7NmzfDy8sLf35/27dvzyiuvEBcXV+LrnzhxgmeeeYbWrVvj5+eHr68vLVq0YPTo0axcuZLc3NxC26Snp/Pvf/+be++9l8DAQDw9PQkNDWX8+PEcPHiwxH1GRkbyhz/8gVatWuHr64u3tzetWrXi2Wef5fz58063O3nyJE899RTNmzfH29sbLy8vGjVqxD333MNLL71U4FRYWcTExDBlyhQaNWqEh4cHDRs2ZNKkSfz888/FbleVuVfE7NmziY2NBeDTTz/ltttuc7pup06dePfddwE4duxYkd8fQhSihBCWlJaWpmrXrq0A9f333yullIqMjFQ2m025urqq2NjYAuvHxsaqWrVqKUCtW7fO6etu375dAcpms6moqCjj+aioKAUYX66ursrf37/Acz169FCpqalFvq5jnW3btpVpWWhoqLHcZrOp2rVrK5vNZjzXoEEDdfLkSafv55///KdycXEx1vf09FR+fn4F6k5ISCiwzcWLF1WbNm2M5W5ubiogIMD4u4uLi3r33Xed7vOjjz5Sbm5uxvoeHh7Ky8vL+Lu/v7/avHlzoe02b96sPDw8CuzXkbHja/r06U7368xPP/2kAgMDjdfw8vJSvr6+Ri1Lly41luXPXKmK514SR74TJkwo9TaZmZlGDb169SrVNrm5uapZs2YKUK1atSpXrcJapMESwqI+++wzBajbbrutwPM9evRQgJozZ06hbQYNGqQANWrUKKev+8QTTyhA9ezZs8DzFy5cUMOGDVNLly5VMTExKicnRymlVFJSkpo/f76qX7++AtRzzz1X5OuWt8EaNWqUeu+999TPP/+sMjIylFJKZWRkqC1btqguXbooQHXo0KHIfb7//vvGaz/44IPqwIEDxrJr166pzZs3q1GjRim73W48n52dre6++24FqICAAPXZZ58Z+42MjFRDhgwxXnP9+vWF9vnll18azdHf/vY3de7cOZWbm6tyc3PVyZMnVXh4uNHYREdHF9j2tttuU4Dq37+/OnLkiPF8WlqaOnLkiJoxY4b65JNPinyvziQmJqrGjRsrQDVu3Fht3rxZ5ebmKqWU2r17t7rjjjsKNHE3NlgVzb0k5Wmwdu3aZdT73nvvlXq7qVOnGttdvny5HNUKK5EGSwiL6t27twLUrFmzCjz/v//9TwGqZcuWhbZZvHixcRTn+vXrhZanpaUZR2o+/vjjMtXz448/KkD5+PiotLS0QsvL22AVJykpSdWrV08BaufOnQWWxcfHG0eqRo8ebTQVJVmyZIlRz8aNGwstz8rKMhqwNm3aFFiWkZGhGjRooAA1b948p/t48MEHFaD+9Kc/Gc9duXLF2O+lS5dKVWtpzJ49WwHK3d1dHT9+vNDyy5cvFzi6dWODVZKSci+Jo8Hy9PRU9erVK/KrT58+BbZx/BsHVERERKn39emnnxrbbdmypcy1CmuRMVhCWNDZs2fZvn07NpvNGHfl8Mgjj+Dl5cXJkyfZtWtXgWXDhg3D39+f9PR0VqxYUeh1v/rqK+x2O56enjz88MNlqqlTp07UrVuXlJSUUo1Rqgy+vr7cd999AERERBRYtmLFCpKSknBzczPGn5XG0qVLAejatSsDBgwotNzV1ZXp06cDcPTo0QITjm7YsIGYmBjq1avHpEmTnO5j/PjxAGzatMl4zs/PDxeXvB/ply9fLlWtpbFkyRIAwsPDi5y7KyQkhP/3//5fuV+/snJPT0/nypUrRX7dOM7u2rVrxuM6deqUeh/BwcFFvoYQRZEGSwgL+uSTT1BK0aNHj0KX1Pv7+zN8+HBjvfy8vLyMxunTTz8t9LqO54YNG1bkvEOZmZnMnTuX/v37U79+/QITnNpsNq5evQrAxYsXK/oWC1i3bh2jRo2iadOm+Pj4FNjnsmXLityno7ns2LEjt956a6n3tW/fPgD69u3rdJ3evXsb02A41offmryEhARuvfVWQkJCivyaPHkykDeNgIOXlxd9+vQBYODAgUybNo09e/aQmZlZ6tpvlJmZaTSA999/v9P1ilvmeJ2qzn3ChAmovLMyhb6Ka9xK2zhD3gUcQpSWzHQnhMXk5uaycOFC4LcjITeaMGECixcvZunSpfz73//G19fXWDZ+/Hg++eQTduzYQXR0NKGhoQD88ssvbNy40enrXr16lb59+xY4YuPp6UlwcLDRbPzyyy/k5uaSkpJSae913LhxLF682HjO1dWVwMBA3N3dAbDb7aSnpxfap+MKM8f7Ky1Hs9CgQQOn6zje95UrV4z1AS5dugTkNSRXrlwpcV9paWkF/v7xxx/z4IMPcujQIV599VVeffVV3N3d6dy5M8OGDeOJJ54gKCio1O8lPj7euGK0uPfTsGFDp8vMyL0k+Y9axcXFGRPVlqS8R76ENckRLCEsZtOmTcaRgieffLLI24oMHDgQgOTkZOMIj0PPnj0JDQ1FKcVnn31mPL9kyRKys7OpV68e/fv3L7Tf5557jiNHjlCnTh0++eQTLl++TFpaGr/88guxsbHExsZSv359oPKOFMybN4/FixdTq1Ytpk2bxpkzZ8jIyCA+Pt7Yp+OInLN9luUIR3m2y79eTk4OkHcEytnRmBu/8mvcuDH79+9n48aN/PGPf6Rjx47GNAkvvPACt912G99++22Vvp8bmZF7SVq3bm083r9/f6m3O3DggPH4jjvuqNSaRM0jDZYQFlPWOXxuPE1os9kYN24cUPA0oePxmDFjCt0GJisri1WrVgHwn//8h0mTJhWY0BHymovSzElVFo7xQ08++SQzZ87ktttuM8YpOTiOVN3IcVqwrDcvrlu3LgAXLlxwuk56erpxNOSWW24xnnd8JhW5EbSLiwsDBgzg//7v/9i3bx/x8fF8/vnnNG7cmISEBMaOHVvq04ZBQUHGUabiTt/FxMQU+bxZuZekc+fO+Pn5AbBy5cpSbaOUYvXq1UDebZBufB9C3EgaLCEs5JdffuGrr74CfhvE7exr7969AHz//feFJqd0nAI8deoUP/74o/Fn/mU37tcx+3X79u2LrC0iIqLSZ8h2NDnO9pmcnMyePXuKXHbvvfcCeWOkyjJovFOnTgBs3brV6Trbt283Tr117tzZeL5bt25AXsNy46D78vLz82Ps2LFGY33lypVSN3Du7u60a9cOyLtFkTPOjoqZlXtJ3NzcePLJJwH47rvvipyg9kafffYZZ8+eBeB3v/tdVZYnaghpsISwkE8//ZSsrCwCAgIYOnQovr6+Tr86d+5s3HPtxqNYzZs35+677wZg0aJFxtGrNm3aFPmL1N/f3zjFdOjQoULLs7Ozefnllyv1vcJvN/gtap8Ar776KklJSUUuCw8Px9/fn+zsbJ577rlSn74aPXo0ALt372bz5s2FlmdnZzNr1iwg7/Nq06aNsWzo0KHGkbM//elPpKamFruv+Ph443FJR6W8vLyMx2W5z+SoUaMAWL58OadOnSq0/OrVq8ydO7fIbc3KvTT++te/GkcbH3vsMSIjI52u+9NPP/HHP/4RyDt69cQTT1RLjeImV30zQgghzHbHHXcoQI0fP75U6//9739XgKpXr57KysoqsOw///mPAlRwcLAxF9Hs2bOdvlb37t2NmdO3bt1qTDh55MgR1a9fP+Xh4aF8fHwUoObPn19oe8oxD9Yrr7xizB7+4YcfGhN+Xr58WT377LMKUHXq1HE6UeXcuXON1x42bFiBiUbj4+PVunXr1IMPPljsRKOff/65yszMVEopdfbsWWMOK4qZaNQx0/xdd92lNm7caNTteI25c+eqzp07q1dffdV4ftu2bapt27bq7bffVsePHzc+39zcXPX999+rtm3bKkA1bNhQZWdnF9qvM3a7XTVs2FABKiwsTG3ZssWYE2zPnj2qbdu2xU40WtHcS1KeiUYdtm3bpry9vRWgAgMD1dtvv13gDgbnz59Xs2bNMtYJDg5Wx44dK/N+hDVJgyWERezevdv4Jbh27dpSbXP48GFjm9WrVxdYFhcXp9zd3Qvc/uXixYtOX2vfvn3GL1J+vf2LYyJPV1dXtWjRIuOXZWU1WAkJCaply5YFasx/q5wpU6aoCRMmFPsL+h//+EeBW+V4eXmV6lY5jmaWXyfpzN+EuLi4qP/7v/9z+ll99tlnxi91x+dTp06dArfBAdRrr71mbLNt27YCy9zc3FSdOnWUq6ur8Zy/v7/asWOH0/068+OPPxao39vb27hVjp+fX7G3yqlo7iWpSIPleG/Nmzcv8Nn5+fkVqBlQnTp1Uj///HO59iGsSRosISziySefNI6q5D8iUpJWrVopQA0dOrTQsuHDhxu/gPr161fiax07dkw98sgjKjg4WLm5uan69eurRx55RO3du1cppSq9wVIq70jTs88+q8LCwpSbm5sKDg5WvXv3VosXL1ZKqRIbLKXyjrZMnjzZuBUNoJo1a6bGjh2r1qxZU+Qs72lpaertt99W99xzjwoICFDu7u6qUaNG6rHHHitwJMyZS5cuqVdeeUV16tRJ1a5dW9WqVUsFBASou+66S/3+979XW7ZsKXBUMTk5WS1btkw9/fTTqmPHjurWW29Vrq6uytfXV911113qhRdeUDExMSXu15nz58+rJ598UjVo0EC5u7urBg0aqAkTJqgzZ84UuN9gUTO5VyT3klS0wVIqb3b9RYsWqREjRqjQ0FDl5eWlfHx8VNOmTdXYsWPVqlWrSj2TvxAONqVk5jQhhCitX375hdtvv51nn32WGTNmmF2OEEJT0mAJIUQZPf300yxatIjLly/j7+9vdjlCCA3JVYRCCFEKUVFRQN7cTtHR0aSmphaavkIIIRzkCJYQQpRCmzZtOHfuHEopUlNT8fDwICYmRm6ZIoQokhzBEkKIUrjnnnvw8PAgJyeHO+64gy+++EKaKyGEU3IESwghhBCikskRLCGEEEKISiYNlhBCCCFEJZMGSwghhBCikkmDJYQQQghRyaTBEkIIIYSoZNJgCSGEEEJUMmmwhBBCCCEqmTRYQgghhBCVTBosIYQQQohK9v8BxCtqazQmB8EAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ],
      "image/png": "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/HlycnJIS0tj7969PPHEE7i4VHyq2rZty0cffUR8fDx5eXkkJycTExOj9dGqyXsuL26HkxYsIYQoo2R3k5IPLy8vWrRowYMPPsiaNWvsttbExMTw8MMPc+edd+Lr64u3tzfh4eH06dOHX/3qV6xcuZKff/653Bhyc3P597//zbhx42jVqhXe3t4EBgbSsWNHnnzySW2Uf0co+R47duxY4foHDx4stc3s2bPLrPPJJ5+U22XHnpLblXx4eHgQGhrKiBEjWLJkib5amSs9dKloMCochbZDh+KR3HfvrtvAhFJKqezsbGeHIOyob7nJyclRp0+fVjk5Oc4OpU4UFRXV6v5fe+01bUaPkjNqeHl5aa8DavTo0So3N1fbLjc3V0VFRZVax8XFRQUHByt3d/dSr5c3M0lMTIxq0aJFqfUDAgKUp6dnmeMnJyfX+P2W3Ceg9u3bV+76/+///b9S68+aNUtbZs3NsmXLtOXx8fGVjqXkdiVnNvH19S11zJ49e6rU1NRK77c6n5HKjuRer1qwRB2RFiynss6jKPRHcqNvdTnXa1JSkvbIysri5MmTDB8+HIAtW7bw6quvaus+//zz2rygjz32GD/++CN5eXmkpKSQm5vL2bNn+cc//sGAAQPsdiVZs2YNY8aM4erVq4SFhbFkyRJSU1Mxm83k5uZy5swZnnnmGdzc3NiyZQt9+vTh5s2bDnmv1isoy5Yts7tObm4uq1atwmQyaUMfleTI3Bw8eFA795mZmVy8eJGHH34YgEOHDvHkk0867Fg1IQWWKEv6YDmVdfJVoT+SG30rdNJ3louLC3fddRdfffUVd955JwD//ve/KSwsJCMjg48++giAefPmsXTpUu6++27cfvmedXFxoX379vzmN79h7969vPDCC2X2f/bsWR577DEKCwvp0qULR48e5fHHHy91V3qHDh1499132bhxIx4eHvz0009a0VFTM2fOxGQysXr1art9qdavX8+tW7e47777iIiIKLO8NnMTERHB559/zsCBAwFYt24dSUlJtXa8ypICS5QlLVhO1bhxY2eHIOyQ3OibtWhxFi8vL6KiooDiFpuzZ89y9uxZ8vLyABg/fnyF+7AOXF3SK6+8QlZWFp6enkRHR3PHHXfY3X7MmDFa69mOHTscMjhuREQE9913H+np6axbt87mOh9//DEAc+bMsbm8tnNj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2ETtGzt2rLNDEHZIbvRN8qNfRsyNYQus7OxsvvvuOwBGjx5tcx2TycSoUaMAiImJqbPYYmNjycnJKTe28PBwOnbsWOexidp34MABZ4cg7JDc6JvkR7+MmBvDFlhnzpzBYrEA0LlzZ7vrWZclJSVVa5qMU6dO0blzZ7y9vfHz86N9+/bMnTuXo0eP2t3m5MmT2vO77rqrwthOnTpV5biEft28edPZIQg7JDf6JvnRLyPmxrAF1rVr17TnYWFhdtcruazkNpWVnJzMmTNntLsTz58/z5IlS+jRowevvvpqubEFBQXh4+NTYWwVxZWXl0d6enqph9CvwMqMYCecQnKjb5If/TJibgw7TENGRob2vLwipuSykttUpF27dvzlL39h/PjxRERE4O7uTn5+Prt37+bll1/m8OHDvPHGGwQFBfHcc8/ZjK28uEouryiuN998k9dff73M69HR0fj4+DBx4kR27NiB2WymSZMm9O7dm02bNgHQvXt3LBYLP/74IwDjx48nNjaWlJQUgoODGTRokNYHrGvXrri7u3P48GEAHnjgAQ4dOsSNGzcICAhgxIgRrF27FihumfPz8+OHX+YbGDlyJCdPniQxMRFfX1/Gjh3L6tWrAWjfvj0hISHaJd1hw4Zx/vx5Ll++jKenJxMnTmT16tVYLBbatm1LWFiYNnP74MGDuXz5MhcvXsTNzY2oqCjWrVtHfn4+rVu3pm3btuzcuRMongbl5s2bnD9/HoDp06ezceNGsrOzadGiBZ06ddIux/bt2xez2czp06cBiIqKYuvWrWRkZBAaGkr37t3ZvHkzAL169SI3N1e7oeKhhx5i9+7dpKWlERISQt++ffn6668B6NatGy1btmTlypUAjBs3jv3795OcnExQUBCDBw/myy+/BKBLly54eXlx8OBBAMaMGcORI0dISkrC39+fUaNGER0dDUCnTp0IDAxk//79AIwYMYLTp09z9epVfHx8GD9+vHbMyMhImjRpQmxsLAD3338/cXFxXLp0CQ8PDyZNmkR0dDSFhYW0adOGVq1asXv3bgAGDRpEYmIicXFx2s0i69evJy8vj1atWhEZGcn27dsB6N+/P8nJyZw7dw6AqVOnsmnTJrKysggLC6Nz585s27YNgHvvvZfMzEyttXby5MnExMSQnp5O06ZN6dmzJ9988w0APXr0oKCggOPHjwMw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0jcpsBowf39/7Xl2drbd9UouK7mNqF0uLi68/fbbQPH/DL/++mttmeTOeWp67q3Py9u25HLJm2N5eXnxpz/9CYDMzEx27NhRarnkp3p+97vf8c9//hOAd999l8cee6zMOvLZKU0KrAasefPm2vPExES765VcVnIbUfvuvPNOQkJCALh48aL2elVzFxAQgJ+fXy1FaSw1PffW7dPS0sr9obBuL585xys5JE3JzxVIfqrjhRde0C63Ll68mGeeecbmevLZKU0KrAasY8eOuLgUp7jk3Rm3sy4LDQ0lODi4TmIT5St5B05lctepU6daj8koanruS25f3l1O1u3Lu1tKOJ7kp2qef/55Fi9eDMBf/vIXfve739ldVz47pUmB1YD5+PjQv39/ALZu3WpzHaUU27ZtA4r7C4m6FRcXR3JyMkCpQfnat29Pq1atAPu5y8rKYu/evYDkzpFqeu4HDBiAt7d3udtfunSJM2fO2Nxe1Nz333+vPb99sEvJT+X97ne/07ox/OUvf+H5558vd3357NzG2UPJi9plnSrHZDKp77//vszy1atXy1Q5taSiyUgtFot66KGHtMmgz549W2q5dcoJHx8fm5PWvvXWWzJVThVVdaqc6p5763QfzZo1U7du3SqzfP78+QpQ/v7+up/uoy5VJj8Vfa5yc3PVvffeqwDl6+trc7oVyU/FnnvuOe234e233670dvLZ+S8psBq4goICbbLnsLAwrYgqKipSa9asUQEBATLZcy2Jj49XvXr1Uh9++KGKi4vTfhiKiorU/v371ciRI7UvMFsTn5acNLVTp07q0KFDSqniSVPff/995eHhIZM9VyA1NVX9/PPP2qNly5YKUM8//3yp1zMyMkptV9NzX3LC2oEDB6rz588rpZTKzMxUr7/+ujKZTPVmwtraVJ387N69Ww0dOlR99tln6sqVK9rr+fn5avv27apXr14VTggs+SnfCy+8oJ3Dd955p0rbymfnv6TAMoD4+HgVHh6ufWB8fHyUl5eX9vdu3brp/n8C9VF8fLx2jgHl6empQkJClKenZ6nX58yZowoKCmzu49ChQ6px48bauv7+/tps9IAaMWKEys3NreN3Vn9YW0QqesyaNavMtjU99998843y8fHR1g8MDFSurq7a32fPnl1ha0xDV5387Nq1q9Qyb29vFRISUio3Li4u6uWXXy73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4Q9/4A9/+AMeHh706tWL8ePH8/jjjxMcHFzp95KamqrdMVre+2nRooXdZc7Ie0VKtlolJydrA9VWpLotX8KYpAVLCIPZtm2b1lLwxBNP2JxWZNSoUQBkZmZqLTxWgwYNonXr1iil+Pzzz7XXV61aRWFhIU2bNmXEiBFljvvss89y4sQJGjduzMcff8z169fJycnh559/JikpiaSkJJo3bw44rqVg6dKlrFy5EldXVxYsWMCFCxfIy8sjNTVVO6a1Rc7eMavSwlGd7UquV1RUBBS3QNlrjbn9UVKrVq04cuQIW7du5be//S09evTQhkl44YUXuPPOO9m5c2etvp/bOSPvFenUqZP2/MiRI5Xe7ujRo9rzu+66y6ExiYZHCiwhDKaqY/jcfpnQZDIxY8YMoPRlQuvz6dOnl5kGpqCggPXr1wPwz3/+kzlz5pQa0BGKi4vKjElVFdb+Q0888QSvv/46d955p9ZPycraUnU762XBqk5e3KRJEwCuXLlid53c3FytNeSOO+7QXreek5pMBO3i4sLIkSP5+9//zqFDh0hNTWXFihW0atWKtLQ0Hn744UpfNgwODtZamcq7fJeYmGjzdWflvSK9evXC398fgHXr1lVqG6UUGzZsAIqnQbr9fQhxOymwhDCQn3/+ma+++gr4bydue48DBw4A8N1335UZnNJ6CfDcuXMcPHhQ+7PkstuPax39ulu3bjZji42NdfgI2dYix94xMzMz+eGHH2wu69evH1DcR6oqncZ79uwJwI4dO+yus3v3bu3SW69evbTX+/fvDxQXLLd3uq8uf39/Hn74Ya2wvnHjRqULOA8PD7p27QoUT1Fkj71WMWflvSLu7u488cQTAPznP/+xOUDt7T7//HMuXrwIwK9+9avaDE80EFJgCWEgn332GQUFBQQGBjJu3Dj8/PzsPnr16qXNuXZ7K1ZkZCT33nsvAJ9++qnWetW5c2ebP6QBAQHaJaZjx46VWV5YWMgrr7zi0PcK/53g19YxAf7whz+QkZFhc1lUVBQBAQEUFhby7LPPVvry1bRp0wDYv38/MTExZZYXFhayaNEioPh8de7cWVs2btw4reXs6aefJjs7u9xjpaamas8rapXy9vbWnldlnsmpU6cCEB0dzblz58osv3nzJh9++KHNbZ2V98r43//9X6218dFHHyUuLs7uuocPH+a3v/0tUNx69fjjj9dJjKKeq7sRIYQQznbXXXcpQM2cObNS6//+979XgGratKkqKCgoteyf//ynAlRISIg2FtFbb71ld18DBgzQRk7fsWOHNuDkiRMn1PDhw5Wnp6fy9fVVgFq2bFmZ7anGOFivvvqqNnr4v//9b23Az+vXr6tnnnlGAapx48Z2B6r88MMPtX2PHz++1ECjqampatOmTerBBx8sd6DRFStWqPz8fKWUUhcvXtTGsKKcgUatI83fc889auvWrVrc1n18+OGHqlevXuoPf/iD9vquXbtUly5d1DvvvKNOnz6tnV+LxaK+++471aVLFwWoFi1aqMLCwjLHtcdsNqsWLVooQIWHh6vt27drY4L98MMPqkuXLuUONFrTvFekOgONWu3atUv5+PgoQAUFBal33nmn1AwGly9fVosWLdLWCQkJUadOnarycYQxSYElhEHs379f+xH8+uuvK7XN8ePHtW02bNhQallycrLy8PAoNf3L1atX7e7r0KFD2g8pv0z/Yh3I083NTX366afaj6WjCqy0tDTVoUOHUjGWnCpn3rx5atasWeX+QP/pT38qNVWOt7d3pabKsRaz/DJIZ8kixMXFRf3973+3e64+//xz7Ufden4aN25cahocQP3xj3/Uttm1a1epZe7u7qpx48bKzc1Ney0gIEDt2bPH7nHtOXjwYKn4fXx8tKly/P39y50qp6Z5r0hNCizre4uMjCx17vz9/UvFDKiePXuqn376qVrHEMYkBZYQBvHEE09orSolW0Qq0rFjRwWocePGlVk2YcIE7Qdo+PDhFe7r1KlTasqUKSokJES5u7ur5s2bqylTpqgDBw4opZTDCyyliluannnmGRUeHq7c3d1VSEiIGjJkiFq5cqVSSlVYYClV3Noyd+5cbSoaQLVt21Y9/PDDauPGjTZHec/JyVHvvPOO6tOnjwoMDFQeHh6qZcuW6tFHHy3VEmbPtWvX1Kuvvqp69uypGjVqpFxdXVVgYKC655571G9+8xu1ffv2Uq2KmZmZas2aNWr+/PmqR48eqlmzZsrNzU35+fmpe+65R73wwgsqMTGxwuPac/nyZfXEE0+osLAw5eHhocLCwtSsWbPUhQsXSs03aGsk95rkvSI1LbCUKh5d/9NPP1UTJ05UrVu3Vt7e3srX11e1adNGPfzww2r9+vWVHslfCCuTUjJymhBCVNbPP/9Mu3bteOaZZ1i4cKGzwxFC6JQUWEIIUUXz58/n008/5fr16wQEBDg7HCGEDsldhEIIUQnx8fFA8dhOly5dIjs7u8zwFUIIYSUtWEIIUQmdO3cmISEBpRTZ2dl4enqSmJgoU6YIIWySFiwhhKiEPn364OnpSVFREXfddRdffPGFFFdCCLukBUsIIYQQwsGkBUsIIYQQwsGkwBJCCCGEcDApsIQQQgghHEwKLCGEEEIIB5MCSwghhBDCwaTAEkIIIYRwMCmwhBBCCCEcTAosIYQQQggHkwJLCCGEEMLB/j9icp4OYLeP3QAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ],
      "image/png": "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uP9jx47x+OOP07p1a4KCgggMDKRFixbcf//9LF++HKvVWmKb7Oxs/vOf/3DnnXcSGhqKn58fkZGRPPTQQ/z88883PObp06d54oknaNWqFYGBgZjNZlq1asX06dOJi4src7vjx4/zyCOP0Lx5c8xmM/7+/jRo0IA77riD559/vlh3UEXEx8fz6KOP0qBBA3x9falfvz6TJ0/mt99+s7tdVebdEa+//joJCQkAfP755zRt2rTMdTt37sw777wDwJEjR0o9P4QoxtVNU0KI8snKylI1atRQgNq9e7dSSqnTp08rk8mkvLy8VEJCQrH1ExISlKenpwLUmjVrytzv9u3bFaBMJlOxLpOiXSmA8vLyUsHBwcVe69Gjh7JYLKXuFzvdZPaW2bpRbDHVqFFDmUwm7bV69eqp48ePl/l+/v3vfysPDw9tfT8/PxUUFFQs7pSUlGLbXLhwQbVt21Zb7u3trUJCQrT/e3h4qHfeeafMY3788cfK29tbW9/X11f5+/tr/w8ODlYbN24ssd3GjRuVr69vsePacmx7vPzyy2Uetyw//fSTCg0N1fbh7++vAgMDtViWLl1aZjeZo3m/kcp0k+Xm5mox9O7du1zbWK1W1aRJEwWoVq1aVSpWYRxSDAnhJr744gsFqKZNmxZ7vUePHgpQb7zxRoltBg0apAA1duzYMvc7depUBaiePXsWe/38+fNq2LBhaunSpSo+Pl4VFBQopZRKT09X8+fPV3Xr1lWAevLJJ0vdb2WLobFjx6p3331X/fbbbyonJ0cppVROTo7avHmz6tKliwJUx44dSz3mBx98oO373nvvVQcPHtSWJSUlqY0bN6qxY8eq1NRU7fX8/Hx1++23K0CFhISoL774Qjvu6dOn1ZAhQ7R9rl27tsQxV65cqRUy/+///T8VGxurrFarslqt6vjx42r06NFaEXLu3Lli2zZt2lQBasCAAerQoUPa61lZWerQoUNq5syZ6tNPPy31vZYlLS1NNWzYUAGqYcOGauPGjcpqtSqllNqzZ49q06ZNsYLr+mLI0bzfSGWKoe+//16L99133y33dk899ZS2XdFri4S4nhRDQriJPn36KEDNnj272Ov/+9//FKBatmxZYpvFixdrrSPXrl0rsTwrK0trAfnkk08qFM+PP/6oABUQEKCysrJKLK9sMWRPenq6ql27tgLUzp07iy1LTk7WWoDuv/9+rQC4kSVLlmjxrF+/vsTyvLw8rVhq27ZtsWU5OTmqXr16ClDz5s0r8xj33nuvAtTf/vY37bXLly9rx7148WK5Yi2P119/XQHKx8dHHT16tMTyS5cuFWs1qugF1DfK+43YiiE/Pz9Vu3btUh99+/Ytto3tZxxQu3btKvexPv/8c227zZs3VzhWYRxyzZAQbuDMmTNs374dk8mkXSdkM2bMGPz9/Tl+/Djff/99sWXDhg0jODiY7Oxsli1bVmK/X3/9Nampqfj5+TFq1KgKxdS5c2dq1apFZmZmua6pcYbAwEB69eoFwK5du4otW7ZsGenp6Xh7e2vXS5XH0qVLAejatSt33313ieVeXl68/PLLABw+fLjY4Ivr1q0jPj6e2rVrM3ny5DKP8dBDDwGwYcMG7bWgoCA8PAp/BV+6dKlcsZbHkiVLABg9enSpYyNFRETwpz/9qdL7d1bes7OzuXz5cqmP668LS0pK0p7XrFmz3McIDw8vdR9CXE+KISHcwKeffopSih49ehAVFVVsWXBwMMOHD9fWK8rf318rcj7//PMS+7W9NmzYsFLHdcnNzeXDDz9kwIAB1K1bt9hgjyaTiStXrgBw4cIFR99iMWvWrGHs2LE0btyYgICAYsf86quvSj2mrRDs1KkTderUKfex9u/fD0C/fv3KXKdPnz54enoWWx/+KMhSUlKoU6cOERERpT4efvhhAM6dO6dt6+/vT9++fQEYOHAgL730Ej/88AO5ubnljv16ubm5WrF21113lbmevWW2/VR13idOnIgq7J0o8bBXZJW3yIXCmwOEKA8ZRUwInbNarSxYsAD4o4XhehMnTmTx4sUsXbqU//znPwQGBmrLHnroIT799FN27NjBuXPniIyMBODq1ausX7++zP1euXKFfv36FWsJ8fPzIzw8XCsMrl69itVqJTMz02nvdcKECSxevFh7zcvLi9DQUHx8fABITU0lOzu7xDFtdxrZ3l952b7Y69WrV+Y6tvd9+fJlbX2AixcvAoXFw+XLl294rKysrGL//+STT7j33nv55ZdfeOWVV3jllVfw8fEhOjqaYcOGMXXqVMLCwsr9XpKTk7U7B+29n/r165e5zBV5v5GirUGJiYnaoJ03UtkWJWE80jIkhM5t2LBB+wt82rRppU5dMHDgQAAyMjK0lhObnj17EhkZiVKKL774Qnt9yZIl5OfnU7t2bQYMGFDiuE8++SSHDh2iZs2afPrpp1y6dImsrCyuXr1KQkICCQkJ1K1bF3DeX+Dz5s1j8eLFeHp68tJLL3Hq1ClycnJITk7Wjmlr6SrrmBVpOajMdkXXKygoAApbdspq5bj+UVTDhg05cOAA69ev569//SudOnXSbm1/9tlnadq0KVu3bq3S93M9V+T9Rlq3bq09P3DgQLm3O3jwoPa8TZs2To1JVC9SDAmhcxUdI+X6rjKTycSECROA4l1ltufjxo0rMdVEXl4eK1asAOC9995j8uTJxQa3g8JCoDxj/lSE7XqXadOmMWvWLJo2bapdV2NjawG6nq1rrKITj9aqVQuA8+fPl7lOdna21spwyy23aK/bPhNHJnH18PDg7rvv5r///S/79+8nOTmZRYsW0bBhQ1JSUhg/fny5u87CwsK01ht7XVjx8fGlvu6qvN9IdHQ0QUFBACxfvrxc2yilWLVqFVA41cr170OIoqQYEkLHrl69ytdffw38cYFwWY99+/YBsHv37hID9dm6wU6cOMGPP/6o/Vt02fXHtY3a26FDh1Jj27Vrl9NH9rUVJGUdMyMjgx9++KHUZXfeeSdQeE1PRS5I7ty5MwBbtmwpc53t27dr3U/R0dHa6926dQMKi4vrL+iurKCgIMaPH68VwZcvXy53seXj40P79u0B2LZtW5nrldXa5Kq834i3tzfTpk0D4Lvvvit1sM7rffHFF5w5cwaAP//5z1UZnqgGpBgSQsc+//xz8vLyCAkJYejQoQQGBpb5iI6OpmXLlkDJ1qHmzZtz++23A7Bw4UKtVaht27alfukFBwdr3Sy//PJLieX5+fnMmDHDqe8V/pics7RjArzyyiukp6eXumz06NEEBweTn5/Pk08+We4unPvvvx+APXv2sHHjxhLL8/PzmT17NlD4ebVt21ZbNnToUK1F6m9/+xsWi8XusZKTk7XnN2rt8ff3157bWnvKY+zYsQDExMRw4sSJEsuvXLnChx9+WOq2rsp7efzjH//QWvEefPBBTp8+Xea6P/30E3/961+BwlahqVOn3pQYhRu7eXfxCyEqqk2bNgpQDz30ULnWf/HFFxWgateurfLy8oote++99xSgwsPDtbFeXn/99TL31b17d23E5y1btmiD7x06dEj1799f+fr6apNmzp8/v8T2VGKcoRdeeEEb9fijjz7SBj+8dOmSmj59ugJUzZo1yxy078MPP9T2PWzYsGKDLiYnJ6s1a9aoe++91+6gi4sWLVK5ublKKaXOnDmjjRGEnUEXbSNk33bbbWr9+vVa3LZ9fPjhhyo6Olq98sor2uvbtm1T7dq1U2+99ZY6evSo9vlarVa1e/du1a5dOwWo+vXrV2gi3tTUVFW/fn0FqKioKLV582ZtzKUffvhBtWvXzu6gi47m/UYcmah127Zt2iSsoaGh6q233io28npcXJyaPXu2tk54eLg6cuRIhY8jjEeKISF0as+ePdoX1jfffFOubX799Vdtm1WrVhVblpiYqHx8fIpNMXHhwoUy97V//37tS4/fp5iwDWro5eWlFi5cqH2xOasYSklJUS1btiwWY9HpOB599FE1ceJEu1+m//rXv4pNx+Hv71+u6ThshSe/D1hYtGDw8PBQ//3vf8v8rL744gvtC9j2+dSsWbPYVBuAevXVV7Vttm3bVmyZt7e3qlmzpvLy8tJeCw4OVjt27CjzuGX58ccfi8VvNpu16TiCgoLsTsfhaN5vxJFiyPbemjdvXuyzCwoKKhYzoDp37qx+++23Sh1DGI8UQ0Lo1LRp07TWiqItDTfSqlUrBaihQ4eWWDZ8+HDty6J///433NeRI0fUmDFjVHh4uPL29lZ169ZVY8aMUfv27VNKKacXQ0oVtuBMnz5dRUVFKW9vbxUeHq769OmjFi9erJRSNyyGlCpsxXj44Ye16S4A1aRJEzV+/Hi1evXqUkenzsrKUm+99Za64447VEhIiPLx8VENGjRQDz74YLEWprJcvHhRvfDCC6pz586qRo0aytPTU4WEhKjbbrtN/eUvf1GbN28u1lqXkZGhvvrqK/XYY4+pTp06qTp16igvLy8VGBiobrvtNvXss8+q+Pj4Gx63LHFxcWratGmqXr16ysfHR9WrV09NnDhRnTp1qtj8Y6WNQO1I3m/E0WJIqcJRwRcuXKhGjBihIiMjlb+/vwoICFCNGzdW48ePVytWrCj3CORCKKWUSSkZlUoIUX1dvXqVZs2aMX36dGbOnOnqcIQQOiTFkBCi2nvsscdYuHAhly5dIjg42NXhCCF0Ru4mE0JUS2fPngUKx845d+4cFoulxJADQggB0jIkhKim2rZtS2xsLEopLBYLvr6+xMfHy7QMQogSpGVICFEt3XHHHfj6+lJQUECbNm348ssvpRASQpRKWoaEEEIIYWjSMiSEEEIIQ5NiSAghhBCGJsWQEEIIIQxNiiEhhBBCGJoUQ0IIIYQwNCmGhBBCCGFoUgwJIYQQwtCkGBJCCCGEoUkxJIQQQghD+//EjbM1AmzS/AAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 2
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "## Best Params",
   "id": "624dff67cf716d63"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.764770700Z",
     "start_time": "2025-07-13T19:49:34.378287Z"
    }
   },
   "cell_type": "code",
   "source": [
    "dfs = {}\n",
    "best = {}\n",
    "for modelo in [\"ESN\", \"LSTM\", \"MLP\", \"RF\", \"XGBoost\"]:\n",
    "    df = pd.DataFrame()\n",
    "    for otimizador in [\"PSO\", \"SA\"]:\n",
    "        for seed in SEEDS:\n",
    "            try:\n",
    "                novo_df = pd.read_csv(f'resultados/otimização - regressão/{otimizador}-{modelo} SEED {seed}.csv',\n",
    "                                      sep=\";\", decimal=\".\",\n",
    "                                      header=0)\n",
    "                df = pd.concat([df, novo_df], axis=0)\n",
    "            except Exception as e:\n",
    "                continue\n",
    "\n",
    "    df = df.sort_values(by=[\"Fitness\"])\n",
    "    df[df.isnull()] = None\n",
    "    best[f\"{modelo}\"] = df[:1]\n",
    "    dfs[modelo] = df\n"
   ],
   "id": "f735813030a6bb7b",
   "outputs": [],
   "execution_count": 3
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### ESN",
   "id": "6c761967e551e852"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.787995700Z",
     "start_time": "2025-07-13T19:49:36.640884Z"
    }
   },
   "cell_type": "code",
   "source": [
    "display(best[\"ESN\"].transpose())\n",
    "dfs[\"ESN\"]"
   ],
   "id": "55946f504a5a055a",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "                        37\n",
       "Unnamed: 0       37.000000\n",
       "Reservoirs       23.000000\n",
       "Sparsity          0.755100\n",
       "Spectral Radius   0.515200\n",
       "Fitness           0.456463"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>37</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <td>37.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Reservoirs</th>\n",
       "      <td>23.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sparsity</th>\n",
       "      <td>0.755100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Spectral Radius</th>\n",
       "      <td>0.515200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fitness</th>\n",
       "      <td>0.456463</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "    Unnamed: 0  Reservoirs  Sparsity  Spectral Radius    Fitness\n",
       "37          37        23.0    0.7551           0.5152   0.456463\n",
       "34          34        23.0    0.7551           0.5152   0.456463\n",
       "35          35        23.0    0.7551           0.5152   0.456463\n",
       "36          36        23.0    0.7551           0.5152   0.456463\n",
       "3            3       107.0    0.5007           0.6178   0.459110\n",
       "..         ...         ...       ...              ...        ...\n",
       "2            2       211.0    0.4501           0.1032   3.132874\n",
       "1            1       211.0    0.4501           0.1032   3.132874\n",
       "10          10       211.0    0.4501           0.1032   3.132874\n",
       "7            7       211.0    0.4501           0.1032   3.132874\n",
       "0            0       229.0    0.8551           0.1625  22.827410\n",
       "\n",
       "[61 rows x 5 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>Reservoirs</th>\n",
       "      <th>Sparsity</th>\n",
       "      <th>Spectral Radius</th>\n",
       "      <th>Fitness</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>37</td>\n",
       "      <td>23.0</td>\n",
       "      <td>0.7551</td>\n",
       "      <td>0.5152</td>\n",
       "      <td>0.456463</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>34</td>\n",
       "      <td>23.0</td>\n",
       "      <td>0.7551</td>\n",
       "      <td>0.5152</td>\n",
       "      <td>0.456463</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>35</td>\n",
       "      <td>23.0</td>\n",
       "      <td>0.7551</td>\n",
       "      <td>0.5152</td>\n",
       "      <td>0.456463</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>36</td>\n",
       "      <td>23.0</td>\n",
       "      <td>0.7551</td>\n",
       "      <td>0.5152</td>\n",
       "      <td>0.456463</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>107.0</td>\n",
       "      <td>0.5007</td>\n",
       "      <td>0.6178</td>\n",
       "      <td>0.459110</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>211.0</td>\n",
       "      <td>0.4501</td>\n",
       "      <td>0.1032</td>\n",
       "      <td>3.132874</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>211.0</td>\n",
       "      <td>0.4501</td>\n",
       "      <td>0.1032</td>\n",
       "      <td>3.132874</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>211.0</td>\n",
       "      <td>0.4501</td>\n",
       "      <td>0.1032</td>\n",
       "      <td>3.132874</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>7</td>\n",
       "      <td>211.0</td>\n",
       "      <td>0.4501</td>\n",
       "      <td>0.1032</td>\n",
       "      <td>3.132874</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>229.0</td>\n",
       "      <td>0.8551</td>\n",
       "      <td>0.1625</td>\n",
       "      <td>22.827410</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>61 rows × 5 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 4
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### LSTM",
   "id": "bfaa066a29cd62b2"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.791272100Z",
     "start_time": "2025-07-13T19:41:02.771067Z"
    }
   },
   "cell_type": "code",
   "source": [
    "display(best[\"LSTM\"].transpose())\n",
    "dfs[\"LSTM\"]"
   ],
   "id": "70e62db65bfa7bc9",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "                 160\n",
       "Unnamed: 0       160\n",
       "Units            368\n",
       "Epochs           178\n",
       "Batch Size        30\n",
       "Activation   sigmoid\n",
       "Fitness     0.343295"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>160</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <td>160</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Units</th>\n",
       "      <td>368</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Epochs</th>\n",
       "      <td>178</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Batch Size</th>\n",
       "      <td>30</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Activation</th>\n",
       "      <td>sigmoid</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fitness</th>\n",
       "      <td>0.343295</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "     Unnamed: 0  Units  Epochs  Batch Size Activation      Fitness\n",
       "160         160    368     178          30    sigmoid     0.343295\n",
       "195         195    368     178          30    sigmoid     0.343295\n",
       "194         194    368     178          30    sigmoid     0.343295\n",
       "193         193    368     178          30    sigmoid     0.343295\n",
       "192         192    368     178          30    sigmoid     0.343295\n",
       "..          ...    ...     ...         ...        ...          ...\n",
       "1             1     39     294          76   softplus    20.676601\n",
       "0             0    186     181         314     linear    59.701107\n",
       "0             0    175      32         183   softplus  1028.455300\n",
       "0             0    337      74         169     linear  1180.956200\n",
       "0             0    229     352         399     linear  2198.429200\n",
       "\n",
       "[2410 rows x 6 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>Units</th>\n",
       "      <th>Epochs</th>\n",
       "      <th>Batch Size</th>\n",
       "      <th>Activation</th>\n",
       "      <th>Fitness</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>160</th>\n",
       "      <td>160</td>\n",
       "      <td>368</td>\n",
       "      <td>178</td>\n",
       "      <td>30</td>\n",
       "      <td>sigmoid</td>\n",
       "      <td>0.343295</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>195</th>\n",
       "      <td>195</td>\n",
       "      <td>368</td>\n",
       "      <td>178</td>\n",
       "      <td>30</td>\n",
       "      <td>sigmoid</td>\n",
       "      <td>0.343295</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>194</th>\n",
       "      <td>194</td>\n",
       "      <td>368</td>\n",
       "      <td>178</td>\n",
       "      <td>30</td>\n",
       "      <td>sigmoid</td>\n",
       "      <td>0.343295</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>193</th>\n",
       "      <td>193</td>\n",
       "      <td>368</td>\n",
       "      <td>178</td>\n",
       "      <td>30</td>\n",
       "      <td>sigmoid</td>\n",
       "      <td>0.343295</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>192</th>\n",
       "      <td>192</td>\n",
       "      <td>368</td>\n",
       "      <td>178</td>\n",
       "      <td>30</td>\n",
       "      <td>sigmoid</td>\n",
       "      <td>0.343295</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>39</td>\n",
       "      <td>294</td>\n",
       "      <td>76</td>\n",
       "      <td>softplus</td>\n",
       "      <td>20.676601</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>186</td>\n",
       "      <td>181</td>\n",
       "      <td>314</td>\n",
       "      <td>linear</td>\n",
       "      <td>59.701107</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>175</td>\n",
       "      <td>32</td>\n",
       "      <td>183</td>\n",
       "      <td>softplus</td>\n",
       "      <td>1028.455300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>337</td>\n",
       "      <td>74</td>\n",
       "      <td>169</td>\n",
       "      <td>linear</td>\n",
       "      <td>1180.956200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>229</td>\n",
       "      <td>352</td>\n",
       "      <td>399</td>\n",
       "      <td>linear</td>\n",
       "      <td>2198.429200</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2410 rows × 6 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 5
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### MLP",
   "id": "e0e573bf6e2a4c74"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.793273300Z",
     "start_time": "2025-07-13T19:44:09.746499Z"
    }
   },
   "cell_type": "code",
   "source": [
    "display(best[\"MLP\"].transpose())\n",
    "dfs[\"MLP\"]"
   ],
   "id": "fb4e3d17337f74a1",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "                     13\n",
       "Unnamed: 0           13\n",
       "Hidden Layers       184\n",
       "Alpha          0.119619\n",
       "Activation     logistic\n",
       "Fitness         0.38618"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>13</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Hidden Layers</th>\n",
       "      <td>184</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Alpha</th>\n",
       "      <td>0.119619</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Activation</th>\n",
       "      <td>logistic</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fitness</th>\n",
       "      <td>0.38618</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "    Unnamed: 0  Hidden Layers     Alpha Activation    Fitness\n",
       "13          13            184  0.119619   logistic   0.386180\n",
       "14          14            184  0.119619   logistic   0.386180\n",
       "9            9            184  0.116010   logistic   0.386533\n",
       "10          10            184  0.116010   logistic   0.386533\n",
       "11          11            184  0.116010   logistic   0.386533\n",
       "..         ...            ...       ...        ...        ...\n",
       "0            0            305  0.450000   identity   2.271665\n",
       "0            0            219  0.530000       relu   3.139491\n",
       "0            0            239  0.060000       relu   3.772673\n",
       "0            0            186  0.420000   identity   6.726711\n",
       "0            0            129  0.460000       relu  68.588104\n",
       "\n",
       "[2395 rows x 5 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <th>Hidden Layers</th>\n",
       "      <th>Alpha</th>\n",
       "      <th>Activation</th>\n",
       "      <th>Fitness</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>13</td>\n",
       "      <td>184</td>\n",
       "      <td>0.119619</td>\n",
       "      <td>logistic</td>\n",
       "      <td>0.386180</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>14</td>\n",
       "      <td>184</td>\n",
       "      <td>0.119619</td>\n",
       "      <td>logistic</td>\n",
       "      <td>0.386180</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>9</td>\n",
       "      <td>184</td>\n",
       "      <td>0.116010</td>\n",
       "      <td>logistic</td>\n",
       "      <td>0.386533</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>10</td>\n",
       "      <td>184</td>\n",
       "      <td>0.116010</td>\n",
       "      <td>logistic</td>\n",
       "      <td>0.386533</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>11</td>\n",
       "      <td>184</td>\n",
       "      <td>0.116010</td>\n",
       "      <td>logistic</td>\n",
       "      <td>0.386533</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>305</td>\n",
       "      <td>0.450000</td>\n",
       "      <td>identity</td>\n",
       "      <td>2.271665</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>219</td>\n",
       "      <td>0.530000</td>\n",
       "      <td>relu</td>\n",
       "      <td>3.139491</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>239</td>\n",
       "      <td>0.060000</td>\n",
       "      <td>relu</td>\n",
       "      <td>3.772673</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>186</td>\n",
       "      <td>0.420000</td>\n",
       "      <td>identity</td>\n",
       "      <td>6.726711</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>129</td>\n",
       "      <td>0.460000</td>\n",
       "      <td>relu</td>\n",
       "      <td>68.588104</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>2395 rows × 5 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 6
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### RF",
   "id": "28f5dd650e911d15"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.798270500Z",
     "start_time": "2025-06-28T15:22:20.062135Z"
    }
   },
   "cell_type": "code",
   "source": [
    "display(best[\"RF\"].transpose())\n",
    "dfs[\"RF\"]"
   ],
   "id": "576650034834c9c3",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "                          146\n",
       "Unnamed: 0         146.000000\n",
       "N_estimators       407.000000\n",
       "Max_depth          478.000000\n",
       "Min_samples_split    6.000000\n",
       "Min_samples_leaf     2.000000\n",
       "Fitness              0.299668"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>146</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Unnamed: 0</th>\n",
       "      <td>146.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>N_estimators</th>\n",
       "      <td>407.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Max_depth</th>\n",
       "      <td>478.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Min_samples_split</th>\n",
       "      <td>6.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Min_samples_leaf</th>\n",
       "      <td>2.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fitness</th>\n",
       "      <td>0.299668</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 9
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "### XGB",
   "id": "3f65956442f9bc50"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.800276400Z",
     "start_time": "2025-07-13T19:25:26.093907Z"
    }
   },
   "cell_type": "code",
   "source": [
    "display(best[\"XGBoost\"].transpose())\n",
    "dfs[\"XGBoost\"]"
   ],
   "id": "1bc362fa4f3b263e",
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "'XGBoost'",
     "output_type": "error",
     "traceback": [
      "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[0;31mKeyError\u001B[0m                                  Traceback (most recent call last)",
      "Cell \u001B[0;32mIn[19], line 1\u001B[0m\n\u001B[0;32m----> 1\u001B[0m display(\u001B[43mbest\u001B[49m\u001B[43m[\u001B[49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[38;5;124;43mXGBoost\u001B[39;49m\u001B[38;5;124;43m\"\u001B[39;49m\u001B[43m]\u001B[49m\u001B[38;5;241m.\u001B[39mtranspose())\n\u001B[1;32m      2\u001B[0m dfs[\u001B[38;5;124m\"\u001B[39m\u001B[38;5;124mXGBoost\u001B[39m\u001B[38;5;124m\"\u001B[39m]\n",
      "\u001B[0;31mKeyError\u001B[0m: 'XGBoost'"
     ]
    }
   ],
   "execution_count": 19
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-07-28T23:45:29.800276400Z",
     "start_time": "2025-07-13T19:25:26.236230Z"
    }
   },
   "cell_type": "code",
   "source": "",
   "id": "e538b6c8bc91868c",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "code",
   "outputs": [],
   "execution_count": null,
   "source": "",
   "id": "47a93db64b986200"
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
